linux/drivers/usb/serial
Jason Wessel 6e40612101 USB: console: Fix regression in usb console on kernel boot
The commit 335f8514f2 introduced a
regression which stopped usb consoles from working correctly as a
kernel boot console as well as interactive login device.

The addition of the serial_close() which in turn calls
tty_port_close_start() will change the reference count of port.count
and warn about it.  The usb console code had previously incremented
the port.count to indicate it was making use of the device as a
console and the forced change causes a double open on the usb device
which leads to a non obvious kernel oops later on when the tty is
freed.

To fix the problem instead make use of port->console to track if the
port is in fact an active console port to avoid double initialization
of the usb serial device.  The port.count is incremented and
decremented only with in the scope of usb_console_setup() for the
purpose of the low level driver initialization.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Acked-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-07-12 15:16:39 -07:00
..
aircable.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
ark3116.c usb_serial: API all change 2008-07-22 13:03:22 -07:00
belkin_sa.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
belkin_sa.h belkin_sa: clean up code 2008-07-22 13:03:22 -07:00
bus.c USB: usb-serial: call port_probe and port_remove at the right times 2009-06-15 21:44:47 -07:00
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 USB: console: Fix regression in usb console on kernel boot 2009-07-12 15:16:39 -07:00
cp210x.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
cyberjack.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
cypress_m8.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
cypress_m8.h cypress_m8: coding style 2008-07-22 13:03:23 -07:00
digi_acceleport.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
empeg.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -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 - product ID's for CCS PIC programmers 2009-07-12 15:16:36 -07:00
ftdi_sio.h USB: ftdi_sio - product ID's for CCS PIC programmers 2009-07-12 15:16:36 -07:00
funsoft.c funsoft: Switch to linux/uaccess 2008-07-22 13:03:23 -07:00
garmin_gps.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
generic.c tty: Fix USB kref leak 2009-07-10 19:17:22 -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: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
io_edgeport.h
io_ionsp.h
io_tables.h USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
io_ti.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
io_ti.h
io_usbvend.h
ipaq.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -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 USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -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 USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
keyspan.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
keyspan.h USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
kl5kusb105.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
kl5kusb105.h
kobil_sct.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -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 USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
mct_u232.h
mos7720.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
mos7840.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -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 USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
opticon.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
option.c USB: option: add Novatel Ovation MC760 2009-07-12 15:16:38 -07:00
oti6858.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
oti6858.h
pl2303.c USB: pl2303: New vendor and product id for the prolific driver 2009-07-12 15:16:35 -07:00
pl2303.h USB: pl2303: New vendor and product id for the prolific driver 2009-07-12 15:16:35 -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: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
spcp8x5.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
symbolserial.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
ti_usb_3410_5052.c USB: fix uninitialised variable in ti_do_download 2009-07-12 15:16:38 -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: serial: usb_debug,usb_generic_serial: implement sysrq and serial break 2009-06-15 21:44:45 -07:00
usb-serial.c USB: console: Fix regression in usb console on kernel boot 2009-07-12 15:16:39 -07:00
visor.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
visor.h
whiteheat.c USB: usb-serial: replace shutdown with disconnect, release 2009-06-15 21:44:47 -07:00
whiteheat.h whiteheat: coding style 2008-07-22 13:03:22 -07:00