]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
ENGR00286149-1 Revert "ENGR00277805-2"
authorPeter Chen <peter.chen@freescale.com>
Tue, 5 Nov 2013 05:27:35 +0000 (13:27 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Mon, 16 Jun 2014 16:05:14 +0000 (18:05 +0200)
This reverts commit c0ff2de2b5f57996332e41778ee2e4e82706ba9c.
For upgrade usb driver

Signed-off-by: Peter Chen <peter.chen@freescale.com>
drivers/usb/chipidea/udc.c

index d5eb1ed17585bb5b5e7bfae098bfa3e1ab211201..d793f14a60fe9af567059acb1071393c550d964f 100644 (file)
@@ -663,6 +663,9 @@ static int _gadget_stop_activity(struct usb_gadget *gadget)
        usb_ep_fifo_flush(&ci->ep0out->ep);
        usb_ep_fifo_flush(&ci->ep0in->ep);
 
+       if (ci->driver)
+               ci->driver->disconnect(gadget);
+
        /* make sure to disable all endpoints */
        gadget_for_each_ep(ep, gadget) {
                usb_ep_disable(ep);
@@ -691,11 +694,6 @@ __acquires(ci->lock)
 {
        int retval;
 
-       if (ci->gadget.speed != USB_SPEED_UNKNOWN) {
-               if (ci->driver)
-                       ci->driver->disconnect(&ci->gadget);
-       }
-
        spin_unlock(&ci->lock);
        if (ci->gadget.speed != USB_SPEED_UNKNOWN) {
                if (ci->driver)
@@ -1477,8 +1475,6 @@ static int ci_udc_vbus_session(struct usb_gadget *_gadget, int is_active)
                        hw_device_state(ci, ci->ep0out->qh.dma);
                        usb_gadget_set_state(_gadget, USB_STATE_POWERED);
                } else {
-                       if (ci->driver)
-                               ci->driver->disconnect(&ci->gadget);
                        hw_device_state(ci, 0);
                        if (ci->platdata->notify_event)
                                ci->platdata->notify_event(ci,