aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/hid/usbhid/hid-core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
index 19a4364c9085..ad71160b9ea4 100644
--- a/drivers/hid/usbhid/hid-core.c
+++ b/drivers/hid/usbhid/hid-core.c
@@ -477,8 +477,6 @@ static void hid_ctrl(struct urb *urb)
477 struct usbhid_device *usbhid = hid->driver_data; 477 struct usbhid_device *usbhid = hid->driver_data;
478 int unplug = 0, status = urb->status; 478 int unplug = 0, status = urb->status;
479 479
480 spin_lock(&usbhid->lock);
481
482 switch (status) { 480 switch (status) {
483 case 0: /* success */ 481 case 0: /* success */
484 if (usbhid->ctrl[usbhid->ctrltail].dir == USB_DIR_IN) 482 if (usbhid->ctrl[usbhid->ctrltail].dir == USB_DIR_IN)
@@ -498,6 +496,8 @@ static void hid_ctrl(struct urb *urb)
498 hid_warn(urb->dev, "ctrl urb status %d received\n", status); 496 hid_warn(urb->dev, "ctrl urb status %d received\n", status);
499 } 497 }
500 498
499 spin_lock(&usbhid->lock);
500
501 if (unplug) { 501 if (unplug) {
502 usbhid->ctrltail = usbhid->ctrlhead; 502 usbhid->ctrltail = usbhid->ctrlhead;
503 } else { 503 } else {