diff options
author | Suresh Mangipudi <smangipudi@nvidia.com> | 2011-03-04 13:34:41 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:43:30 -0800 |
commit | ac919d36bf4cea7d1a59240a6b6d11536065ad41 (patch) | |
tree | be09e2a3b3473b9619c4d469a11f81eb67870c68 /drivers/usb/host/ehci-hub.c | |
parent | 459e7962e32b7f9293c4c6b8aaf6a424e574e12d (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.c | 4 |
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); |