]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 15 Jun 2009 16:40:16 +0000 (09:40 -0700)
commit 7a9a65ced11ece416b730d6f21040a18e62d78a8 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/class/cdc-acm.c

index b3d5a23ab56fbf5c3832aa76d69e27caf15a9ff4..7f2909aa8e72fd800766b675a88ab7f96e8c7085 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