summaryrefslogtreecommitdiff
path: root/drivers/usb/host/ehci-hub.c
diff options
context:
space:
mode:
authorSuresh Mangipudi <smangipudi@nvidia.com>2011-03-04 13:34:41 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:43:30 -0800
commitac919d36bf4cea7d1a59240a6b6d11536065ad41 (patch)
treebe09e2a3b3473b9619c4d469a11f81eb67870c68 /drivers/usb/host/ehci-hub.c
parent459e7962e32b7f9293c4c6b8aaf6a424e574e12d (diff)
ehci:hub: Fix for USB suspend hang
When host_pc is enabled ehci_bus_suspend is disabling the usb phy by setting the PHCD bit in the HOST_PC register. Due to this system is hanging during the bus_suspend procedure. This PHCD bit should be set after completing the USB suspend procedure. This PHCD bit is set as part of the phy suspend. Fixing this by removing the code for disabling PHCD bit in the suspend path. Bug 793834 Original-Change-Id: I02df4cb9f8ec32c253709ea921f4da5041461f4d Reviewed-on: http://git-master/r/21492 Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Tested-by: Bitan Biswas <bbiswas@nvidia.com> Tested-by: Suresh Mangipudi <smangipudi@nvidia.com> Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Original-Change-Id: Ied6b9e26faf063c956b406ea1d9e1ac50b4727dc Rebase-Id: Rd49c371c8e2b75e437c69abecaac61d2033ff39f
Diffstat (limited to 'drivers/usb/host/ehci-hub.c')
-rw-r--r--drivers/usb/host/ehci-hub.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
index 4c32cb19b405..16994e4907e9 100644
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
@@ -285,7 +285,7 @@ static int ehci_bus_suspend (struct usb_hcd *hcd)
changed = 1;
}
}
-
+#ifndef CONFIG_ARCH_TEGRA_3x_SOC
if (changed && ehci->has_hostpc) {
spin_unlock_irq(&ehci->lock);
msleep(5); /* 5 ms for HCD to enter low-power mode */
@@ -306,7 +306,7 @@ static int ehci_bus_suspend (struct usb_hcd *hcd)
"succeeded" : "failed");
}
}
-
+#endif
/* Apparently some devices need a >= 1-uframe delay here */
if (ehci->bus_suspended)
udelay(150);