]> git.baikalelectronics.ru Git - kernel.git/commit
USB: serial: fix leak of usb serial module refrence count
authorMing Lei <tom.leiming@gmail.com>
Sat, 7 Aug 2010 08:20:35 +0000 (16:20 +0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 24 Aug 2010 03:50:15 +0000 (20:50 -0700)
commit268337a7cb7a549989270d7169ec9818f3debb3b
tree632adc518c4e76a343e4e975a925261e6b4ff525
parent65ab7c15e16d82e3129249de68579492a6c6eaab
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>
drivers/usb/serial/usb-serial.c