summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAbhishek Aggarwal <aaggarwal@nvidia.com>2010-06-22 15:19:32 +0530
committerGary King <gking@nvidia.com>2010-06-22 10:19:42 -0700
commitb51a545ccd32f85e3c37d87ae3888b9ee7ef82a2 (patch)
tree30d45c733dc60bad2f46b4d8dd35f28def89c427 /drivers
parent7965e62aa8528e621a1d1c6503de33b91826cc98 (diff)
ehci-tegra: halting the controller before powering down the PHY
It was observed that when trying to power down the PHY, the RS bit(0:0) in USBCMD register was still set to RUN(1). Calling ehci_halt() before powering down the PHY in tegra_ehci_suspend() to set RS bit to STOP(0) before PHY is powered down. Bug: 695655 Change-Id: I677550be63eebd5140ca466096cb796a21a1167 Reviewed-on: http://git-master/r/2929 Tested-by: Abhishek Aggarwal <aaggarwal@nvidia.com> Reviewed-by: Gary King <gking@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/host/ehci-tegra.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index d971d0595e01..32dba3a84fb2 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -689,7 +689,6 @@ static int tegra_ehci_suspend(struct platform_device *pdev, pm_message_t state)
else {
ehci->transceiver->state = OTG_STATE_UNDEFINED;
ehci->host_reinited = 0;
- ehci_halt(ehci);
/* indicate hcd flags, that hardware is not accessable now */
clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
}
@@ -697,6 +696,8 @@ static int tegra_ehci_suspend(struct platform_device *pdev, pm_message_t state)
#endif
if (ehci->host_resumed) {
+ /* halt the controller before powering down the phy */
+ ehci_halt(ehci);
tegra_ehci_power_down(hcd);
}