usb: musb: omap2430: do vbus disable only when needed
[pandora-kernel.git] / 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);
                        }