linux/drivers/usb/serial
Jason Wessel 715b1dc01f USB: usb_debug, usb_generic_serial: implement multi urb write
The usb_debug driver, when used as the console, will always fail to
insert the carriage return and new line sequence as well as randomly
drop console output.  This is a result of only having the single
write_urb and that the tty layer will have a lock that prevents the
processing of the back to back urb requests.

The solution is to allow more than one urb to be outstanding and have
a slightly deeper transmit queue.  The idea and some code is borrowed
from the ftdi_sio usb driver.

The generic usb serial driver was modified so as to allow the classic
method of 1 write urb, or a multi write urb scheme with N allowed
outstanding urbs where N is controlled by max_in_flight_urbs.  When
max_in_flight_urbs in a "struct usb_serial_driver" is non zero the
multi write urb scheme will be used.

The size of 4000 was selected for the usb_debug driver so that the
driver lowers possibility of losing the queued console messages during
the kernel startup.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-06-15 21:44:45 -07:00
..
aircable.c USB: usb-serial: fix the aircable_init failure path 2009-02-09 11:19:48 -08:00
ark3116.c
belkin_sa.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
belkin_sa.h
bus.c
ch341.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
ChangeLog.history trivial: Fix misspelling of firmware 2009-03-30 15:21:59 +02:00
console.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
cp210x.c USB: CP210X Replace CP2101 with CP210x 2009-06-11 08:51:05 -07:00
cyberjack.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
cypress_m8.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
cypress_m8.h
digi_acceleport.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
empeg.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
ezusb_convert.pl
ezusb.c USB: remove use of err() in drivers/usb/serial 2008-10-17 14:41:10 -07:00
ftdi_sio.c USB: ftdi_sio: fix hi-speed device packet size calculation 2009-06-15 21:44:41 -07:00
ftdi_sio.h USB: serial: FTDI: add high speed device support 2009-06-15 21:44:41 -07:00
funsoft.c
garmin_gps.c USB: garmin_gps: removes usb_reset_device from garmin_close 2009-06-15 21:44:44 -07:00
generic.c USB: usb_debug, usb_generic_serial: implement multi urb write 2009-06-15 21:44:45 -07:00
hp4x.c USB: remove info() macro from usb/serial drivers 2008-10-17 14:41:09 -07:00
io_16654.h
io_edgeport.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
io_edgeport.h
io_ionsp.h
io_tables.h
io_ti.c trivial: fix typo milisecond/millisecond for documentation and source comments. 2009-06-12 18:01:46 +02:00
io_ti.h
io_usbvend.h
ipaq.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
ipaq.h
ipw.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
ir-usb.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
iuu_phoenix.c tty: iuu_phoenix: update version number. 2009-06-11 08:51:02 -07:00
iuu_phoenix.h
Kconfig trivial: fix typos/grammar errors in Kconfig texts 2009-03-30 15:22:01 +02:00
keyspan_pda.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
keyspan.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
keyspan.h tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
kl5kusb105.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
kl5kusb105.h
kobil_sct.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
kobil_sct.h
Makefile USB: serial: rename cp2101 driver to cp210x 2009-03-24 16:20:44 -07:00
Makefile-keyspan_pda_fw
mct_u232.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
mct_u232.h
mos7720.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
mos7840.c USB: mos7840: fix debug log messages 2009-06-15 21:44:42 -07:00
moto_modem.c USB device codes for Motorola phone. 2009-04-17 10:50:26 -07:00
navman.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
omninet.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
opticon.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
option.c USB: Identify Novatel MC760 in option driver 2009-06-15 21:44:44 -07:00
oti6858.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
oti6858.h
pl2303.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
pl2303.h tty: pl2303 needs identifiers for Siemens S81 as well as EF81 2009-04-06 14:36:41 -07:00
qcserial.c USB: qcserial: Add extra device IDs 2009-04-17 10:50:24 -07:00
safe_serial.c USB: remove use of err() in drivers/usb/serial 2008-10-17 14:41:10 -07:00
siemens_mpi.c USB: add siemens_mpi usb-serial "stub" driver 2009-01-07 10:00:13 -08:00
sierra.c USB: serial: sierra driver read path bug fix 2009-06-15 21:44:45 -07:00
spcp8x5.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
symbolserial.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
ti_usb_3410_5052.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
ti_usb_3410_5052.h USB: two more usb ids for ti_usb_3410_5052 2009-02-09 11:19:48 -08:00
usb_debug.c USB: usb_debug, usb_generic_serial: implement multi urb write 2009-06-15 21:44:45 -07:00
usb-serial.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
visor.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
visor.h
whiteheat.c tty: Bring the usb tty port structure into more use 2009-06-11 08:50:56 -07:00
whiteheat.h