diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c index ee3aa57bc0e7..6b0cb633679d 100644 --- a/drivers/tty/tty_buffer.c +++ b/drivers/tty/tty_buffer.c @@ -529,6 +529,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);