diff options
author | Abhishek Aggarwal <aaggarwal@nvidia.com> | 2010-06-22 15:19:32 +0530 |
---|---|---|
committer | Gary King <gking@nvidia.com> | 2010-06-22 10:19:42 -0700 |
commit | b51a545ccd32f85e3c37d87ae3888b9ee7ef82a2 (patch) | |
tree | 30d45c733dc60bad2f46b4d8dd35f28def89c427 /drivers | |
parent | 7965e62aa8528e621a1d1c6503de33b91826cc98 (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.c | 3 |
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); } |