Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

cdc-acm: Fix long standing abuse of tty->low_latency

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>

authored by

Alan Cox and committed by
Linus Torvalds
7a9a65ce b21597d0

-4
-4
drivers/usb/class/cdc-acm.c
··· 546 546 tty->driver_data = acm; 547 547 acm->tty = tty; 548 548 549 - /* force low_latency on so that our tty_push actually forces the data through, 550 - otherwise it is scheduled, and with high data rates data can get lost. */ 551 - tty->low_latency = 1; 552 - 553 549 if (usb_autopm_get_interface(acm->control) < 0) 554 550 goto early_bail; 555 551 else