usb: host: tegra: Fix enumeration after lp0
authorBenoit Goby <benoit@android.com>
Wed, 5 Jan 2011 02:59:42 +0000 (18:59 -0800)
committerBenoit Goby <benoit@android.com>
Thu, 6 Jan 2011 23:16:18 +0000 (15:16 -0800)
Fix enumeration when a device is plugged while the host is in lp0 state.

Change-Id: Idb491f347172daac8a5603ed098b422b15cc534e
Signed-off-by: Benoit Goby <benoit@android.com>
drivers/usb/host/ehci-tegra.c

index 0f83b5e368da89262d933ec5f071ff6fdadebabd..262bbb01228b9c991a4e220f972303b02184cb3e 100644 (file)
@@ -259,8 +259,12 @@ static int tegra_usb_resume(struct usb_hcd *hcd)
        set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
        tegra_ehci_power_up(ehci_to_hcd(tegra->ehci));
 
-       if (!context->valid)
+       if (!context->valid) {
+               /* Wait for the phy to detect new devices
+                * before we restart the controller */
+               msleep(10);
                goto restart;
+       }
 
        /* Restore register context */
        writel(TEGRA_USB_USBMODE_HOST, &hw->reserved[19]);