aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/usbip/vhci_sysfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/usbip/vhci_sysfs.c')
-rw-r--r--drivers/staging/usbip/vhci_sysfs.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/staging/usbip/vhci_sysfs.c b/drivers/staging/usbip/vhci_sysfs.c
index f6e34e03c8e..3f2459f3041 100644
--- a/drivers/staging/usbip/vhci_sysfs.c
+++ b/drivers/staging/usbip/vhci_sysfs.c
@@ -220,16 +220,13 @@ static ssize_t store_attach(struct device *dev, struct device_attribute *attr,
vdev->ud.tcp_socket = socket;
vdev->ud.status = VDEV_ST_NOTASSIGNED;
+ wake_up_process(vdev->ud.tcp_rx);
+ wake_up_process(vdev->ud.tcp_tx);
+
spin_unlock(&vdev->ud.lock);
spin_unlock(&the_controller->lock);
/* end the lock */
- /*
- * this function will sleep, so should be out of the lock. but, it's ok
- * because we already marked vdev as being used. really?
- */
- usbip_start_threads(&vdev->ud);
-
rh_port_connect(rhport, speed);
return count;