diff options
author | Harvey Yang <harvey.huawei.yang@gmail.com> | 2012-11-06 12:10:29 +0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-11-14 01:08:48 +0400 |
commit | 695bcb1c0a50e8fe04f0ab868cac849130788bc0 (patch) | |
tree | c0bf6692aaf4878bb52cc59159b6eb1cbce3e62e /drivers/staging/usbip | |
parent | a68292fce139f88bb85b8a53ac9df376063172c3 (diff) | |
download | linux-695bcb1c0a50e8fe04f0ab868cac849130788bc0.tar.xz |
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 79298d068636..ee36415eb26d 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; |