summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenoit Goby <benoit@android.com>2011-01-18 12:56:16 -0800
committerVarun Colbert <vcolbert@nvidia.com>2011-01-27 23:47:49 -0800
commit36d892e496a8d98b7e36de5599d1c195cc9f0c20 (patch)
treea333ad36ebb4a0bc91661f2dfc0e6a43a1424bf4
parent5f43374fd57369c60cbb5a018ace67673894f590 (diff)
usb: host: tegra: Fix resuming low speed devices from lp0
Change-Id: I9576853bbe0fae52c5c2cfab26ce8f2017077d4e Signed-off-by: Benoit Goby <benoit@android.com> Reviewed-on: http://git-master/r/16709 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com>
-rw-r--r--drivers/usb/host/ehci-tegra.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index f44181737025..23931797d1e4 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -269,7 +269,7 @@ static int tegra_usb_resume(struct usb_hcd *hcd)
goto restart;
}
- tegra_ehci_phy_restore_start(tegra->phy);
+ tegra_ehci_phy_restore_start(tegra->phy, context->port_speed);
/* Check if the phy resume from LP0. When the phy resume from LP0
* USB register will be reset. */
@@ -345,10 +345,13 @@ static int tegra_usb_resume(struct usb_hcd *hcd)
}
tegra_ehci_phy_restore_end(tegra->phy);
+
return 0;
restart:
- tegra_ehci_phy_restore_end(tegra->phy);
+ if (context->valid)
+ tegra_ehci_phy_restore_end(tegra->phy);
+
tegra_ehci_restart(hcd);
return 0;
}