summaryrefslogtreecommitdiff
path: root/drivers/staging/usbip
diff options
context:
space:
mode:
authorHarvey Yang <harvey.huawei.yang@gmail.com>2012-11-06 08:10:29 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-11-13 21:08:48 (GMT)
commit695bcb1c0a50e8fe04f0ab868cac849130788bc0 (patch)
treec0bf6692aaf4878bb52cc59159b6eb1cbce3e62e /drivers/staging/usbip
parenta68292fce139f88bb85b8a53ac9df376063172c3 (diff)
downloadlinux-fsl-qoriq-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.c2
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;