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: cee4ad1ed9

Signed-off-by: Ivo Sieben <meltedpianoman@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Ivo Sieben 2012-10-24 14:35:42 +02:00 committed by Greg Kroah-Hartman
parent 6b898c07cb
commit b8b345bae8

View File

@ -365,6 +365,7 @@ void tty_schedule_flip(struct tty_struct *tty)
{ {
struct tty_bufhead *buf = &tty->port->buf; struct tty_bufhead *buf = &tty->port->buf;
unsigned long flags; unsigned long flags;
WARN_ON(tty->low_latency);
spin_lock_irqsave(&buf->lock, flags); spin_lock_irqsave(&buf->lock, flags);
if (buf->tail != NULL) if (buf->tail != NULL)