aboutsummaryrefslogtreecommitdiffstats
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,
220 vdev->ud.tcp_socket = socket; 220 vdev->ud.tcp_socket = socket;
221 vdev->ud.status = VDEV_ST_NOTASSIGNED; 221 vdev->ud.status = VDEV_ST_NOTASSIGNED;
222 222
223 wake_up_process(vdev->ud.tcp_rx);
224 wake_up_process(vdev->ud.tcp_tx);
225
223 spin_unlock(&vdev->ud.lock); 226 spin_unlock(&vdev->ud.lock);
224 spin_unlock(&the_controller->lock); 227 spin_unlock(&the_controller->lock);
225 /* end the lock */ 228 /* end the lock */
226 229
227 /*
228 * this function will sleep, so should be out of the lock. but, it's ok
229 * because we already marked vdev as being used. really?
230 */
231 usbip_start_threads(&vdev->ud);
232
233 rh_port_connect(rhport, speed); 230 rh_port_connect(rhport, speed);
234 231
235 return count; 232 return count;