From: Grazvydas Ignotas Date: Sun, 24 Mar 2013 15:36:54 +0000 (+0200) Subject: usb: musb: omap2430: turn off vbus on cable disconnect X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=2c1fe89db1cfa9826c94e848c14dc68de0e2b0d5;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git 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 Signed-off-by: Felipe Balbi --- 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) musb->xceiv->last_event = USB_EVENT_NONE; if (musb->gadget_driver) { + omap2430_musb_set_vbus(musb, 0); pm_runtime_mark_last_busy(dev); pm_runtime_put_autosuspend(dev); }