linux/drivers/usb/serial
Ming Lei d92a3ca689 USB: serial: fix leak of usb serial module refrence count
The patch with title below makes reference count of usb serial module
always more than one after driver is bound.

	USB-BKL: Remove BKL use for usb serial driver probing

In fact, the patch above only replaces lock_kernel() with try_module_get()
, and does not use module_put() to do what unlock_kernel() did, so casue leak
of reference count of usb serial module and the module can not be unloaded
after serial driver is bound with device.

This patch fixes the issue, also simplifies such things:
	-only call try_module_get() once in the entry of usb_serial_probe()
	-only call module_put() once in the exit of usb_serial_probe

Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Cc: Johan Hovold <jhovold@gmail.com>
Cc: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-23 20:50:15 -07:00
..
aircable.c USB: aircable: fix incorrect write-buffer length 2010-05-20 13:21:49 -07:00
ark3116.c USB: ark3116: reimplement read processing 2010-05-20 13:21:43 -07:00
belkin_sa.c USB: belkin_sa: implement line status handling 2010-05-20 13:21:48 -07:00
belkin_sa.h USB: belkin_sa.h: checkpatch cleanups 2010-05-20 13:21:46 -07:00
bus.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ch341.c USB: serial: refactor generic close 2010-05-20 13:21:33 -07:00
ChangeLog.history trivial: Fix misspelling of firmware 2009-03-30 15:21:59 +02:00
console.c usb-console: pass baud from console to the initial tty open 2010-05-20 13:21:32 -07:00
cp210x.c USB: cp210x: Add four new device IDs 2010-08-10 14:35:43 -07:00
cyberjack.c USB: tty: Prune uses of tty_request_room in the USB layer 2010-03-02 14:55:12 -08:00
cypress_m8.c USB: cypress_m8: use kfifo to implement write buffering 2010-05-20 13:21:49 -07:00
cypress_m8.h USB: cypress_m8.h: checkpatch cleanups 2010-05-20 13:21:46 -07:00
digi_acceleport.c tty: Fix the digi acceleport driver NULL checks 2010-08-10 13:47:41 -07:00
empeg.c USB: empeg: reimplement using generic framework 2010-05-20 13:21:48 -07:00
ezusb.c
ezusb_convert.pl
ftdi_sio.c USB: ftdi_sio: device id for Navitator 2010-08-10 14:35:43 -07:00
ftdi_sio.h USB: ftdi_sio: checkpatch cleanups 2010-05-20 13:21:46 -07:00
ftdi_sio_ids.h USB: ftdi_sio: device id for Navitator 2010-08-10 14:35:43 -07:00
funsoft.c USB serial: make USB device id constant 2010-03-02 14:54:16 -08:00
garmin_gps.c USB: tty: Prune uses of tty_request_room in the USB layer 2010-03-02 14:55:12 -08:00
generic.c USB: serial: fix stalled writes 2010-08-10 14:35:45 -07:00
hp4x.c USB serial: make USB device id constant 2010-03-02 14:54:16 -08:00
io_16654.h
io_edgeport.c USB: io_edgeport: Use kzalloc 2010-05-20 13:21:46 -07:00
io_edgeport.h USB: io_edgeport: checkpatch cleanups 2010-05-20 13:21:47 -07:00
io_ionsp.h USB: io_edgeport: checkpatch cleanups 2010-05-20 13:21:47 -07:00
io_tables.h USB serial: make USB device id constant 2010-03-02 14:54:16 -08:00
io_ti.c USB: io_ti.c: don't return 0 if writing the download record failed 2010-08-10 14:35:40 -07:00
io_ti.h USB: io_edgeport: checkpatch cleanups 2010-05-20 13:21:47 -07:00
io_usbvend.h USB: io_edgeport: checkpatch cleanups 2010-05-20 13:21:47 -07:00
ipaq.c Revert "USB: Adding support for HTC Smartphones to ipaq" 2010-08-10 14:35:35 -07:00
ipw.c USB: ipw: reimplement using generic framework 2010-05-20 13:21:46 -07:00
ir-usb.c USB: ir-usb: fix incorrect write-buffer length 2010-05-20 13:21:50 -07:00
iuu_phoenix.c USB: iuu_phoenix: Add support for different baud rates. 2010-08-10 14:35:34 -07:00
iuu_phoenix.h
Kconfig USB: add USB serial ssu100 driver 2010-08-10 14:35:44 -07:00
keyspan.c USB: remove references to port->port.count from the serial drivers 2010-03-02 14:55:12 -08:00
keyspan.h USB serial: make USB device id constant 2010-03-02 14:54:16 -08:00
keyspan_pda.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2010-03-03 08:48:58 -08:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
kl5kusb105.c fix typos concerning "initiali[zs]e" 2010-06-16 18:05:05 +02:00
kl5kusb105.h USB: kl5kusb105.h: checkpatch cleanups 2010-05-20 13:21:47 -07:00
kobil_sct.c USB: kobil: fix memory leak 2010-05-20 13:21:47 -07:00
kobil_sct.h USB: kobil_sct.h: checkpatch cleanups 2010-05-20 13:21:47 -07:00
Makefile USB: add USB serial ssu100 driver 2010-08-10 14:35:44 -07:00
Makefile-keyspan_pda_fw
mct_u232.c USB: serial: refactor generic close 2010-05-20 13:21:33 -07:00
mct_u232.h USB: mct_u232.h: checkpatch cleanups 2010-05-20 13:21:46 -07:00
mos7720.c USB: usbserial: mos7720: cleanup, consolidation, replace send_mos_cmd with {read,write}_mos_reg 2010-05-20 13:21:39 -07:00
mos7840.c USB: mos7840: fix null-pointer dereference 2010-06-04 13:16:18 -07:00
moto_modem.c USB serial: make USB device id constant 2010-03-02 14:54:16 -08:00
navman.c USB: add device IDs for igotu to navman 2010-08-23 20:50:15 -07:00
omninet.c USB: Convert concatenated __FILE__ to %s, __FILE__ 2010-03-02 14:54:59 -08:00
opticon.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
option.c USB: option: add Celot CT-650 2010-08-23 20:50:14 -07:00
oti6858.c USB: oti6858: use port write fifo 2010-05-20 13:21:49 -07:00
oti6858.h
pl2303.c USB: pl2303: use tty_insert_flip_string_fixed_flag 2010-05-20 13:21:44 -07:00
pl2303.h USB: pl2303.h: checkpatch cleanups 2010-05-20 13:21:47 -07:00
qcaux.c USB: qcaux: add Samsung U520 device ID 2010-05-20 13:21:40 -07:00
qcserial.c USB: New PIDs for Qualcomm gobi 2000 (qcserial) 2010-07-26 12:00:58 -07:00
safe_serial.c USB: safe_serial: straighten out read processing 2010-05-20 13:21:49 -07:00
siemens_mpi.c USB serial: make USB device id constant 2010-03-02 14:54:16 -08:00
sierra.c USB: Add PID for Sierra 250U to drivers/usb/serial/sierra.c 2010-07-26 12:00:57 -07:00
spcp8x5.c USB: spcp8x5: reimplement using generic framework 2010-05-20 13:21:48 -07:00
ssu100.c USB: add USB serial ssu100 driver 2010-08-10 14:35:44 -07:00
symbolserial.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ti_usb_3410_5052.c USB: ti_usb: use kfifo to implement write buffering 2010-05-20 13:21:50 -07:00
ti_usb_3410_5052.h USB: ti_usb_3410_5052: adding multitech dialup fax/modem devices 2010-04-22 15:18:20 -07:00
usb-serial.c USB: serial: fix leak of usb serial module refrence count 2010-08-23 20:50:15 -07:00
usb-wwan.h usb serial: Add generic USB wwan support 2010-05-20 13:21:37 -07:00
usb_debug.c USB: usb_debug: set bulk out size at probe 2010-05-20 13:21:49 -07:00
usb_wwan.c usb serial: Add generic USB wwan support 2010-05-20 13:21:37 -07:00
visor.c USB: visor: increase bulk-out buffer size 2010-05-20 13:21:48 -07:00
visor.h USB: visor.h: checkpatch cleanups 2010-05-20 13:21:47 -07:00
vivopay-serial.c USB: serial: Add support for ViVOtech ViVOpay devices. 2010-03-02 14:54:57 -08:00
whiteheat.c USB: tty: sort out the request_room handling for whiteheat 2010-03-02 14:55:09 -08:00
whiteheat.h
zio.c USB Serial Driver: ZIO Motherboard 2010-05-20 13:21:32 -07:00