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 4726798..f5d4f36 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;