diff options
author | Felipe Balbi <balbi@ti.com> | 2013-03-11 06:40:31 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2013-03-11 06:40:31 -0400 |
commit | 66e4afc77f76653460d7eb31ec793506ada1ad33 (patch) | |
tree | 081748dced8d451bf5c6bd2218b32cf86b42810c /drivers/usb | |
parent | c390b0363d6cc201db93de69b5e88f482322d821 (diff) |
usb: gadget: pxa25x: fix disconnect reporting
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>
Diffstat (limited to 'drivers/usb')
-rw-r--r-- | drivers/usb/gadget/pxa25x_udc.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/gadget/pxa25x_udc.c b/drivers/usb/gadget/pxa25x_udc.c index 9aa9dd5168d8..d0f37484b6b0 100644 --- a/drivers/usb/gadget/pxa25x_udc.c +++ b/drivers/usb/gadget/pxa25x_udc.c | |||
@@ -1303,6 +1303,10 @@ stop_activity(struct pxa25x_udc *dev, struct usb_gadget_driver *driver) | |||
1303 | } | 1303 | } |
1304 | del_timer_sync(&dev->timer); | 1304 | del_timer_sync(&dev->timer); |
1305 | 1305 | ||
1306 | /* report disconnect; the driver is already quiesced */ | ||
1307 | if (driver) | ||
1308 | driver->disconnect(&dev->gadget); | ||
1309 | |||
1306 | /* re-init driver-visible data structures */ | 1310 | /* re-init driver-visible data structures */ |
1307 | udc_reinit(dev); | 1311 | udc_reinit(dev); |
1308 | } | 1312 | } |