cdc-acm: Fix long standing abuse of tty->low_latency
authorAlan Cox <alan@lxorguk.ukuu.org.uk>
Tue, 14 Apr 2009 13:57:36 +0000 (14:57 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 14 Apr 2009 15:48:50 +0000 (08:48 -0700)
ACM sets the low latency flag but calls the flip buffer routines from
IRQ context which isn't permitted (and as of 2.6.29 causes a warning
hence this one was caught)

Fortunatelt ACM doesn't need to set this flag in the first place as it
only set it to work around problems in ancient (pre tty flip rewrite)
kernels.

Reported-by: Chuck Ebbert <cebbert@redhat.com>
Signed-off-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/usb/class/cdc-acm.c

index 869d47c..0a69c09 100644 (file)
@@ -546,10 +546,6 @@ static int acm_tty_open(struct tty_struct *tty, struct file *filp)
        tty->driver_data = acm;
        acm->tty = tty;
 
-       /* force low_latency on so that our tty_push actually forces the data through,
-          otherwise it is scheduled, and with high data rates data can get lost. */
-       tty->low_latency = 1;
-
        if (usb_autopm_get_interface(acm->control) < 0)
                goto early_bail;
        else