diff options
author | Rohith Seelaboyina <rseelaboyina@nvidia.com> | 2013-05-16 12:13:49 +0530 |
---|---|---|
committer | Riham Haidar <rhaidar@nvidia.com> | 2013-05-23 16:23:56 -0700 |
commit | 51b894f7889e24772eec4b51189635953b3349eb (patch) | |
tree | 0ebb44b8dd963aa50535ad698848684b0b88f4b2 /drivers/usb | |
parent | 1c5ac6c31705bfdd94aa91ea0c2350fb9bb56349 (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.c | 8 |
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; } } |