diff options
author | Harvey Yang <harvey.huawei.yang@gmail.com> | 2012-11-06 16:10:29 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-11-13 13:08:48 -0800 |
commit | 695bcb1c0a50e8fe04f0ab868cac849130788bc0 (patch) | |
tree | c0bf6692aaf4878bb52cc59159b6eb1cbce3e62e /drivers/staging/usbip | |
parent | a68292fce139f88bb85b8a53ac9df376063172c3 (diff) | |
download | op-kernel-dev-695bcb1c0a50e8fe04f0ab868cac849130788bc0.zip op-kernel-dev-695bcb1c0a50e8fe04f0ab868cac849130788bc0.tar.gz |
staging: usbip: put usb_device and kill event handler thread in error cleanups.
If probe returns with error, the kthread is still alive even when all
usbip modules unloaded. So do cleanups in error handler.
Signed-off-by: harvey.yang <harvey.huawei.yang@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/usbip')
-rw-r--r-- | drivers/staging/usbip/stub_dev.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/staging/usbip/stub_dev.c b/drivers/staging/usbip/stub_dev.c index 79298d0..ee36415 100644 --- a/drivers/staging/usbip/stub_dev.c +++ b/drivers/staging/usbip/stub_dev.c @@ -433,6 +433,8 @@ static int stub_probe(struct usb_interface *interface, dev_err(&interface->dev, "stub_add_files for %s\n", udev_busid); usb_set_intfdata(interface, NULL); usb_put_intf(interface); + usb_put_dev(udev); + kthread_stop_put(sdev->ud.eh); busid_priv->interf_count = 0; busid_priv->sdev = NULL; |