diff options
| -rw-r--r-- | drivers/hid/usbhid/hid-core.c | 4 |
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 { |
