usb: gadget: pxa25x: fix disconnect reporting
authorFelipe Balbi <balbi@ti.com>
Mon, 11 Mar 2013 10:40:31 +0000 (12:40 +0200)
committerFelipe Balbi <balbi@ti.com>
Mon, 11 Mar 2013 10:40:31 +0000 (12:40 +0200)
when commit 6166c24 (usb: gadget: pxa25x_udc:
convert to udc_start/udc_stop) converted
this driver to udc_start/udc_stop, it failed
to consider the fact that stop_activity()
is called from disconnect interrupt.

Fix the problem so that gadget drivers know
about proper disconnect sequences.

Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/pxa25x_udc.c

index 9aa9dd5168d836eb65883e2cf7e685916b81b67d..d0f37484b6b0cf67faf1875db8440521b030f1a2 100644 (file)
@@ -1303,6 +1303,10 @@ stop_activity(struct pxa25x_udc *dev, struct usb_gadget_driver *driver)
        }
        del_timer_sync(&dev->timer);
 
+       /* report disconnect; the driver is already quiesced */
+       if (driver)
+               driver->disconnect(&dev->gadget);
+
        /* re-init driver-visible data structures */
        udc_reinit(dev);
 }