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 869d47cb6db3a5e905d767af2be7cc610622adbc..0a69c0977e3f3f372f337b996732e341d07637e3 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