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>2013-09-14 01:13:41 -0700
commitd6c579f29eae2bbe45590ae5df315d7131dcf3a1 (patch)
tree78ec4e05c134153a4a7eca3c7391ce48fdac78bd /drivers/usb/host/ehci-hub.c
parentb2b82e3ca303e3bec5663b4571346d72153de067 (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.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c
index ca6289b4b7ad..1d0d3acccdda 100644
--- a/drivers/usb/host/ehci-hub.c
+++ b/drivers/usb/host/ehci-hub.c
@@ -292,7 +292,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 */
@@ -311,6 +311,7 @@ static int ehci_bus_suspend (struct usb_hcd *hcd)
"succeeded" : "failed");
}
}
+#endif
spin_unlock_irq(&ehci->lock);
/* Apparently some devices need a >= 1-uframe delay here */