diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index 4288dae23dda..7d1fb7f893c7 100644 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c @@ -392,12 +392,8 @@ int usb_function_deactivate(struct usb_function *function) spin_lock_irqsave(&cdev->lock, flags); - if (cdev->deactivations == 0) { - /* drop the spinlock so the gadget disconnect can run */ - spin_unlock_irqrestore(&cdev->lock, flags); + if (cdev->deactivations == 0) status = usb_gadget_deactivate(cdev->gadget); - spin_lock_irqsave(&cdev->lock, flags); - } if (status == 0) cdev->deactivations++;