Alan Stern
0a3c8549ea
usb-serial: fix crash when sub-driver updates firmware
...
This patch (as1244) fixes a crash in usb-serial that occurs when a
sub-driver returns a positive value from its attach method, indicating
that new firmware was loaded and the device will disconnect and
reconnect. The usb-serial core then skips the step of registering the
port devices; when the disconnect occurs, the attempt to unregister
the ports fails dramatically.
This problem shows up with Keyspan devices and it might affect others
as well.
When the attach method returns a positive value, the patch sets
num_ports to 0. This tells usb_serial_disconnect() not to try
unregistering any of the ports; instead they are cleaned up by
destroy_serial().
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-05-28 13:54:43 -07:00
..
aircable.c
USB: usb-serial: fix the aircable_init failure path
2009-02-09 11:19:48 -08:00
ark3116.c
usb_serial: API all change
2008-07-22 13:03:22 -07:00
belkin_sa.c
USB: remove use of err() in drivers/usb/serial
2008-10-17 14:41:10 -07:00
belkin_sa.h
belkin_sa: clean up code
2008-07-22 13:03:22 -07:00
bus.c
usb-serial-bus: tidy coding style
2008-07-22 13:03:22 -07:00
ch341.c
USB: usb-serial ch341: support for DTR/RTS/CTS
2009-04-17 10:50:26 -07:00
ChangeLog.history
trivial: Fix misspelling of firmware
2009-03-30 15:21:59 +02:00
console.c
Add device function for USB serial console
2009-01-02 10:19:38 -08:00
cp210x.c
USB: Fix cp2101 USB serial device driver termios functions for console use
2009-03-24 16:20:45 -07:00
cyberjack.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
cypress_m8.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
cypress_m8.h
cypress_m8: coding style
2008-07-22 13:03:23 -07:00
digi_acceleport.c
USB: serial: fix up urb->status usage
2009-01-07 10:00:06 -08:00
empeg.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
ezusb.c
USB: remove use of err() in drivers/usb/serial
2008-10-17 14:41:10 -07:00
ezusb_convert.pl
ftdi_sio.c
Fix oops on close of hot-unplugged FTDI serial converter
2009-05-18 08:37:15 -07:00
ftdi_sio.h
USB: ftdi_sio: add vendor/product id for the Marvell SheevaPlug
2009-05-08 19:34:56 -07:00
funsoft.c
funsoft: Switch to linux/uaccess
2008-07-22 13:03:23 -07:00
garmin_gps.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
generic.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -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
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
io_edgeport.h
io_ionsp.h
io_tables.h
tty-usb-io_edgeport: Coding style
2008-07-22 13:03:27 -07:00
io_ti.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
io_ti.h
io_usbvend.h
USB: io_ti: Digi EdgePort update for new devices
2007-07-12 16:29:48 -07:00
ipaq.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
ipaq.h
ipw.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
ir-usb.c
tty: trivial - fix up email addresses in tty related stuff
2008-11-11 09:30:10 -08:00
iuu_phoenix.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
iuu_phoenix.h
USB: add iuu_phoenix driver
2008-02-01 14:34:47 -08:00
Kconfig
trivial: fix typos/grammar errors in Kconfig texts
2009-03-30 15:22:01 +02:00
keyspan.c
USB: drivers: use USB API functions rather than constants
2009-03-24 16:20:28 -07:00
keyspan.h
usb_serial: API all change
2008-07-22 13:03:22 -07:00
keyspan_pda.c
USB: remove use of err() in drivers/usb/serial
2008-10-17 14:41:10 -07:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
USB Serial Keyspan: add support for USA-49WG & USA-28XG
2007-07-12 16:29:45 -07:00
keyspan_usa90msg.h
kl5kusb105.c
tty: Drop the lock_kernel in the private ioctl hook
2009-01-02 10:19:42 -08:00
kl5kusb105.h
kobil_sct.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -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: Drop the lock_kernel in the private ioctl hook
2009-01-02 10:19:42 -08:00
mct_u232.h
USB: mct232: speed, new termios and compliance cleanups
2008-02-01 14:34:56 -08:00
mos7720.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
mos7840.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
moto_modem.c
USB device codes for Motorola phone.
2009-04-17 10:50:26 -07:00
navman.c
tty: usb-serial krefs
2008-10-13 09:51:41 -07:00
omninet.c
USB: remove use of err() in drivers/usb/serial
2008-10-17 14:41:10 -07:00
opticon.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
option.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
oti6858.c
tty: usb-serial krefs
2008-10-13 09:51:41 -07:00
oti6858.h
USB: oti6858 usb-serial driver (in Nokia CA-42 cable)
2007-07-12 16:29:47 -07:00
pl2303.c
tty: pl2303 needs identifiers for Siemens S81 as well as EF81
2009-04-06 14:36:41 -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: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
spcp8x5.c
USB: serial: fix up urb->status usage
2009-01-07 10:00:06 -08:00
symbolserial.c
symbol: Remove various bits of left over junk
2009-04-06 14:36:42 -07:00
ti_usb_3410_5052.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -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-serial.c
usb-serial: fix crash when sub-driver updates firmware
2009-05-28 13:54:43 -07:00
usb_debug.c
USB: serial: usb_debug: Make static
2009-01-07 10:00:03 -08:00
visor.c
USB: removal of tty->low_latency hack dating back to the old serial code
2009-04-23 14:15:29 -07:00
visor.h
USB: visor add ACER S10 palm device id
2007-08-22 14:27:43 -07:00
whiteheat.c
USB: remove use of err() in drivers/usb/serial
2008-10-17 14:41:10 -07:00
whiteheat.h
whiteheat: coding style
2008-07-22 13:03:22 -07:00