summaryrefslogtreecommitdiffstats
path: root/drivers/tty/tty_buffer.c
diff options
context:
space:
mode:
authorIvo Sieben <meltedpianoman@gmail.com>2012-10-24 14:35:42 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-10-24 11:21:32 -0700
commitb8b345bae8cb6745f2afdd28bb2d93f9cf0d7f2c (patch)
treeb5d1e58545b23b90c70f4c1f9a35e00eb09b0816 /drivers/tty/tty_buffer.c
parent6b898c07cb1d5bd8344a8044288bb4ae3873da74 (diff)
downloadlinux-b8b345bae8cb6745f2afdd28bb2d93f9cf0d7f2c.tar.bz2
TTY: Report warning when low_latency flag is wrongly used
When a driver has the low_latency flag set and uses the schedule_flip() function to initiate copying data to the line discipline, a workqueue is scheduled in but never actually flushed. This is incorrect use of the low_latency flag (driver should not support the low_latency flag, or use the tty_flip_buffer_push() function instead). Make sure a warning is reported to catch incorrect use of the low_latency flag. This patch goes with: cee4ad1ed90a0959fc29f9d30a2526e5e9522cfa Signed-off-by: Ivo Sieben <meltedpianoman@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/tty_buffer.c')
-rw-r--r--drivers/tty/tty_buffer.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/tty/tty_buffer.c b/drivers/tty/tty_buffer.c
index 06725f5cc819..6cf87d7afb7e 100644
--- a/drivers/tty/tty_buffer.c
+++ b/drivers/tty/tty_buffer.c
@@ -365,6 +365,7 @@ void tty_schedule_flip(struct tty_struct *tty)
{
struct tty_bufhead *buf = &tty->port->buf;
unsigned long flags;
+ WARN_ON(tty->low_latency);
spin_lock_irqsave(&buf->lock, flags);
if (buf->tail != NULL)