WSL2-Linux-Kernel/drivers
David Brownell 937ef73d50 USB: serial gadget: rx path data loss fixes
Update RX path handling in new serial gadget code to cope better with
RX blockage:  queue every RX packet until its contents can safely be
passed up to the ldisc.  Most of the RX path work is now done in the
RX tasklet, instead of just the final "push to ldisc" step.  This
addresses some cases of data loss:

  - A longstanding serial gadget bug: when tty_insert_flip_string()
    didn't copy the entire buffer, the rest of the characters were
    dropped!  Now that packet stays queued until the rest of its data
    is pushed to the ldisc.

  - Another longstanding issue:  in the unlikely case that an RX
    transfer returns data and also reports a fault, that data is
    no longer discarded.

  - In the recently added RX throttling logic:  it needs to stop
    pushing data into the TTY layer, instead of just not submitting
    new USB read requests.  When the TTY is throttled long enough,
    backpressure will eventually make the OUT endpoint NAK.

Also: an #ifdef is removed (no longer necessary); and start switching
to a better convention for debug messages (prefix them with tty name).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-08-13 17:32:53 -07:00
..
accessibility
acpi Remove newline from the description of module parameters 2008-08-01 12:46:41 -07:00
amba
ata avr32: Use <mach/foo.h> instead of <asm/arch/foo.h> 2008-08-05 14:36:57 +02:00
atm atm: fix direct casts of pointers to u32 in the InterPhase driver 2008-07-30 16:33:05 -07:00
auxdisplay auxdisplay: small cleanups 2008-07-24 10:47:41 -07:00
base Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-08-01 11:52:39 -07:00
block xen-blkfront.c: make blkif_ioctl() static 2008-08-06 12:30:04 +02:00
bluetooth [Bluetooth] Add full quirk implementation for btusb driver 2008-08-07 22:26:56 +02:00
cdrom cdrom: don't check CDC_PLAY_AUDIO in cdrom_count_tracks() 2008-08-05 18:17:02 +02:00
char crypto: padlock - fix VIA PadLock instruction usage with irq_ts_save/restore() 2008-08-13 22:02:26 +10:00
clocksource
connector
cpufreq [CPUFREQ] Fix -Wshadow warning in conservative governor. 2008-08-08 16:00:48 -04:00
cpuidle cpuidle: make sysfs attributes sysdev class attributes 2008-08-12 16:07:28 -07:00
crypto crypto: padlock - fix VIA PadLock instruction usage with irq_ts_save/restore() 2008-08-13 22:02:26 +10:00
dca
dio
dma Merge branch 'for-linus-merged' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-08-08 11:38:42 -07:00
edac edac: mpc85xx fix pci ofdev 2nd pass 2008-07-25 10:53:49 -07:00
eisa
firewire Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2008-08-06 12:03:43 -07:00
firmware firmware/memmap: cleanup 2008-08-12 16:07:31 -07:00
gpio gpio: max732x driver 2008-07-25 10:53:30 -07:00
gpu Remove newline from the description of module parameters 2008-08-01 12:46:41 -07:00
hid
hwmon hwmon: (lm75) Drop legacy i2c driver 2008-08-10 22:56:16 +02:00
i2c i2c: correct some size_t printk formats 2008-08-10 22:56:16 +02:00
ide [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ieee1394 PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures 2008-07-24 10:47:21 -07:00
infiniband Merge branches 'ehca' and 'ipoib' into for-linus 2008-08-12 13:52:54 -07:00
input Merge branch 'for-linus-merged' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-08-08 11:38:42 -07:00
isdn Add DIP switch readout for HFC-4S IOB4ST 2008-08-02 16:40:37 +02:00
leds [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
lguest lguest: use get_user_pages_fast() instead of get_user_pages() 2008-08-12 17:52:53 +10:00
macintosh remove unnecessary <linux/hdreg.h> includes 2008-08-05 18:16:58 +02:00
mca
md Merge branch 'for-linus' of git://neil.brown.name/md 2008-08-01 11:56:07 -07:00
media Merge Linus' latest into master 2008-08-08 19:18:18 +01:00
memstick memstick: use fully asynchronous request processing 2008-07-26 12:00:04 -07:00
message Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-07-27 10:04:52 -07:00
mfd mfd: tc6393 cleanup and update 2008-08-10 23:32:07 +02:00
misc GRU: fix preprocessor symbol for sparse 2008-08-12 16:07:29 -07:00
mmc mfd: have TMIO drivers and subdevices depend on ARM 2008-08-10 23:30:34 +02:00
mtd mfd: have TMIO drivers and subdevices depend on ARM 2008-08-10 23:30:34 +02:00
net uninline atl1e_setup_mac_ctrl() 2008-08-09 11:15:13 -07:00
nubus
of spi: Add OF binding support for SPI busses 2008-07-25 22:34:40 -04:00
oprofile
parisc
parport make parport_cs_release() static 2008-07-26 12:00:11 -07:00
pci PCI: Limit VPD length for Broadcom 5708S 2008-08-07 17:47:37 -07:00
pcmcia [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
pnp PNP: fix formatting of dbg_pnp_show_resources() output 2008-08-01 12:46:41 -07:00
power [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ps3
rapidio
regulator regulator: TI bq24022 Li-Ion Charger driver 2008-07-30 10:10:23 +01:00
rtc rtc-isl1208: fix double removal of a sysfs entry 2008-08-12 16:07:28 -07:00
s390 [S390] qeth: avoid use of include/asm-s390 2008-08-01 16:39:36 +02:00
sbus
scsi make struct scsi_dh_devlist's static 2008-08-11 12:20:31 -07:00
serial [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
sh sh: Fix up broken kerneldoc comments. 2008-08-04 12:51:06 +09:00
sn
spi [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ssb
tc
telephony ixj: push BKL into driver and wrap ioctls 2008-07-25 10:53:43 -07:00
thermal
uio
usb USB: serial gadget: rx path data loss fixes 2008-08-13 17:32:53 -07:00
video fbcon: prevent cursor disappearance after switching to 512 character font 2008-08-12 16:07:29 -07:00
virtio virtio: Add transport feature handling stub for virtio_ring. 2008-07-25 12:06:14 +10:00
w1
watchdog ALi M7101 PMU also available on Sun Netra's too 2008-08-12 16:07:31 -07:00
xen
zorro move memory_read_from_buffer() from fs.h to string.h 2008-07-24 10:47:13 -07:00
Kconfig
Makefile regulator: core kbuild files 2008-07-30 10:10:22 +01:00