usb: musb: omap2430: do vbus disable only when needed
authorGrazvydas Ignotas <notasas@gmail.com>
Sun, 17 Mar 2013 15:13:15 +0000 (17:13 +0200)
committerGrazvydas Ignotas <notasas@gmail.com>
Sun, 17 Mar 2013 15:13:15 +0000 (17:13 +0200)
doing it while suspended will cause external abort on OMAP3,
but DM3730 seems to be ok, hmh..

drivers/usb/musb/omap2430.c

index 81f05f3..55c0b93 100644 (file)
@@ -264,10 +264,10 @@ static int musb_otg_notifications(struct notifier_block *nb,
        case USB_EVENT_NONE:
                dev_dbg(musb->controller, "VBUS Disconnect\n");
 
        case USB_EVENT_NONE:
                dev_dbg(musb->controller, "VBUS Disconnect\n");
 
-               omap2430_musb_set_vbus(musb, 0);
-
                if (is_otg_enabled(musb) || is_peripheral_enabled(musb))
                        if (musb->gadget_driver) {
                if (is_otg_enabled(musb) || is_peripheral_enabled(musb))
                        if (musb->gadget_driver) {
+                               omap2430_musb_set_vbus(musb, 0);
+
                                pm_runtime_mark_last_busy(musb->controller);
                                pm_runtime_put_autosuspend(musb->controller);
                        }
                                pm_runtime_mark_last_busy(musb->controller);
                                pm_runtime_put_autosuspend(musb->controller);
                        }