summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorRohith Seelaboyina <rseelaboyina@nvidia.com>2013-05-16 12:13:49 +0530
committerRiham Haidar <rhaidar@nvidia.com>2013-05-23 16:23:56 -0700
commit51b894f7889e24772eec4b51189635953b3349eb (patch)
tree0ebb44b8dd963aa50535ad698848684b0b88f4b2 /drivers/usb
parent1c5ac6c31705bfdd94aa91ea0c2350fb9bb56349 (diff)
usb: host: tegra: disable pmc before going to LP0
disable pmc before going to LP0 Bug 1279228 Bug 1279501 Change-Id: Ib59cff3f164262a80aa35a6ab58af792783cc5fb Signed-off-by: Rohith Seelaboyina <rseelaboyina@nvidia.com> Reviewed-on: http://git-master/r/228905 Reviewed-by: Automatic_Commit_Validation_User Tested-by: Harry Hong <hhong@nvidia.com> GVS: Gerrit_Virtual_Submit Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/ehci-tegra.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index d3cbf33cbbcc..bc96f91a5f68 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -653,15 +653,19 @@ static int tegra_ehci_resume(struct platform_device *pdev)
static int tegra_ehci_suspend(struct platform_device *pdev, pm_message_t state)
{
struct tegra_ehci_hcd *tegra = platform_get_drvdata(pdev);
- int err;
struct tegra_usb_platform_data *pdata = dev_get_platdata(&pdev->dev);
+ int err;
+
/* bus suspend could have failed because of remote wakeup resume */
if (tegra->bus_suspended_fail)
return -EBUSY;
else {
err = tegra_usb_phy_power_off(tegra->phy);
- if (pdata->u_data.host.turn_off_vbus_on_lp0 && pdata->port_otg)
+ if (pdata->u_data.host.turn_off_vbus_on_lp0 &&
+ pdata->port_otg) {
tegra_usb_enable_vbus(tegra->phy, false);
+ tegra_usb_phy_pmc_disable(tegra->phy);
+ }
return err;
}
}