aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-07-03 08:30:01 -0500
committerSteven Rostedt <rostedt@rostedt.homelinux.com>2013-11-21 10:34:01 -0500
commitba3890bc8c15e97de450df9ed7b11989818cdab7 (patch)
tree1e6dfc9e4217d568d49cb104cd69600396e11cf4
parente71c7288122e514ea9fdb19d59547d890d5f1d88 (diff)
serial: 8250: Call flush_to_ldisc when the irq is threaded
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--drivers/tty/tty_buffer.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c
index 9121c1f7aeef..94d321508d6e 100644
--- a/drivers/tty/tty_buffer.c
+++ b/drivers/tty/tty_buffer.c
@@ -517,10 +517,15 @@ void tty_flip_buffer_push(struct tty_port *port)
buf->tail->commit = buf->tail->used;
spin_unlock_irqrestore(&buf->lock, flags);
+#ifndef CONFIG_PREEMPT_RT_FULL
if (port->low_latency)
flush_to_ldisc(&buf->work);
else
schedule_work(&buf->work);
+#else
+ flush_to_ldisc(&buf->work);
+#endif
+
}
EXPORT_SYMBOL(tty_flip_buffer_push);
@@ -545,4 +550,3 @@ void tty_buffer_init(struct tty_port *port)
buf->memory_used = 0;
INIT_WORK(&buf->work, flush_to_ldisc);
}
-