diff options
author | Grazvydas Ignotas <notasas@gmail.com> | 2013-03-24 11:36:54 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2013-04-02 04:42:44 -0400 |
commit | 2c1fe89db1cfa9826c94e848c14dc68de0e2b0d5 (patch) | |
tree | 0bf29b1601ab89018ca91677c580818fd5cc44a3 /drivers/usb/musb/omap2430.c | |
parent | f65f4f40fb23b64a59adbe8629e8e7e6fea279cf (diff) |
usb: musb: omap2430: turn off vbus on cable disconnect
On USB_EVENT_ID event the musb glue enables VBUS by calling
omap2430_musb_set_vbus(musb, 1) that sets the session bit, but on
USB_EVENT_NONE reverse action is never made, and that breaks PM.
Disable VBUS on USB_EVENT_NONE to be sure musb session is ended
on cable unplug so that PM works.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/musb/omap2430.c')
-rw-r--r-- | drivers/usb/musb/omap2430.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c index 798e029e3db0..3551f1a30c65 100644 --- a/drivers/usb/musb/omap2430.c +++ b/drivers/usb/musb/omap2430.c | |||
@@ -291,6 +291,7 @@ static void omap_musb_set_mailbox(struct omap2430_glue *glue) | |||
291 | 291 | ||
292 | musb->xceiv->last_event = USB_EVENT_NONE; | 292 | musb->xceiv->last_event = USB_EVENT_NONE; |
293 | if (musb->gadget_driver) { | 293 | if (musb->gadget_driver) { |
294 | omap2430_musb_set_vbus(musb, 0); | ||
294 | pm_runtime_mark_last_busy(dev); | 295 | pm_runtime_mark_last_busy(dev); |
295 | pm_runtime_put_autosuspend(dev); | 296 | pm_runtime_put_autosuspend(dev); |
296 | } | 297 | } |