usb: musb: OMAP3xxx: Fix device detection in otg & host mode
authorHema HK <hemahk@ti.com>
Mon, 28 Feb 2011 09:35:29 +0000 (15:05 +0530)
committerFelipe Balbi <balbi@ti.com>
Tue, 1 Mar 2011 10:23:03 +0000 (12:23 +0200)
In OMAP3xxx with OTG mode or host only mode, When the device
is inserted after the gadget driver loading the enumeration was not
through. This is because the mentor controller will start sensing the
ID PIN only after setting the session bit.
So after ID-GND, need to set the session bit for mentor to get it
configured as A device.

This is a fix to set the session bit again in ID_GND notification handler.
Tested with OMAP3630Zoom3 platform.

Signed-off-by: Hema HK <hemahk@ti.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/musb/omap2430.c

index 47267987077d0585b488b2a14cfd288d6787ca9a..f5d4f368be9e4846e36e3b50eef118dc23c08591 100644 (file)
@@ -246,19 +246,13 @@ static int musb_otg_notifications(struct notifier_block *nb,
                        if (musb->gadget_driver) {
                                pm_runtime_get_sync(musb->controller);
                                otg_init(musb->xceiv);
-
-                               if (data->interface_type ==
-                                               MUSB_INTERFACE_UTMI)
-                                       omap2430_musb_set_vbus(musb, 1);
-
+                               omap2430_musb_set_vbus(musb, 1);
                        }
 #endif
                } else {
                        pm_runtime_get_sync(musb->controller);
                        otg_init(musb->xceiv);
-                       if (data->interface_type ==
-                                       MUSB_INTERFACE_UTMI)
-                               omap2430_musb_set_vbus(musb, 1);
+                       omap2430_musb_set_vbus(musb, 1);
                }
                break;