]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - drivers/usb/chipidea/udc.c
usb: chipidea: udc: Fix spinlock recursion during bus reset
[karo-tx-linux.git] / drivers / usb / chipidea / udc.c
index 2bb7d18ef2d54f11698180c9d1af1f1c67030e00..5c5e9124872f44d2a401b503de359d29e069b55b 100644 (file)
@@ -713,12 +713,12 @@ __acquires(ci->lock)
 {
        int retval;
 
+       spin_unlock(&ci->lock);
        if (ci->gadget.speed != USB_SPEED_UNKNOWN) {
                if (ci->driver)
                        ci->driver->disconnect(&ci->gadget);
        }
 
-       spin_unlock(&ci->lock);
        retval = _gadget_stop_activity(&ci->gadget);
        if (retval)
                goto done;