diff --git a/drivers/usb/gadget/configfs.c b/drivers/usb/gadget/configfs.c index 275ca4aa9739..96136bdcd328 100644 --- a/drivers/usb/gadget/configfs.c +++ b/drivers/usb/gadget/configfs.c @@ -1563,8 +1563,11 @@ static int android_setup(struct usb_gadget *gadget, value = acc_ctrlrequest_composite(cdev, c); #endif - if (value < 0) + if (value < 0) { + spin_lock_irqsave(&gi->spinlock, flags); value = composite_setup(gadget, c); + spin_unlock_irqrestore(&gi->spinlock, flags); + } spin_lock_irqsave(&cdev->lock, flags); if (c->bRequest == USB_REQ_SET_CONFIGURATION &&