diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c index ca9c82ee6c35..dfccc102c1dd 100644 --- a/drivers/tty/tty_buffer.c +++ b/drivers/tty/tty_buffer.c @@ -536,6 +536,9 @@ static void flush_to_ldisc(struct work_struct *work) if (!count) break; head->read += count; + + if (need_resched()) + cond_resched(); } mutex_unlock(&buf->lock);