diff options
author | Felipe Balbi <balbi@ti.com> | 2013-03-11 14:40:31 +0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2013-03-11 14:40:31 +0400 |
commit | 66e4afc77f76653460d7eb31ec793506ada1ad33 (patch) | |
tree | 081748dced8d451bf5c6bd2218b32cf86b42810c /drivers/usb/gadget/pxa25x_udc.c | |
parent | c390b0363d6cc201db93de69b5e88f482322d821 (diff) | |
download | linux-66e4afc77f76653460d7eb31ec793506ada1ad33.tar.xz |
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/gadget/pxa25x_udc.c')
-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) } 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); } |