summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorRakesh Bodla <rbodla@nvidia.com>2012-06-07 16:11:20 +0530
committerSimone Willett <swillett@nvidia.com>2012-06-07 18:05:47 -0700
commit51457b0dc10527b1b1a28028e3891e81b840b92d (patch)
treefc31d0213ec59139b7cf9d3d7d08baf3b44bf387 /drivers
parent4576bb434c78b7a3dcd54ea053173dd75f966ffd (diff)
Revert "usb: ehci: tegra: fix hsic enum failure"
This is not merged properly reverting the change. This reverts commit 3b080222a7b37c31fe73be90c3e681096f8b82dd. Change-Id: Icb07c67bdff69a41685f7f8b038cf38306566789 Reviewed-on: http://git-master/r/107001 Reviewed-by: Simone Willett <swillett@nvidia.com> Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/host/ehci-tegra.c32
1 files changed, 15 insertions, 17 deletions
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index c8d5485a7894..98f3d5106a38 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -201,6 +201,7 @@ static int tegra_ehci_hub_control(
{
struct tegra_ehci_hcd *tegra = dev_get_drvdata(hcd->self.controller);
struct ehci_hcd *ehci = hcd_to_ehci(hcd);
+ unsigned long flags;
int retval = 0;
u32 __iomem *status_reg;
@@ -253,23 +254,20 @@ static int tegra_ehci_hub_control(
retval = ehci_hub_control(hcd, typeReq, wValue, wIndex, buf, wLength);
/* do tegra phy specific actions based on the type request */
- if (!retval && (typeReq == SetPortFeature)) {
- wIndex--;
-
- switch (wValue) {
- case USB_PORT_FEAT_SUSPEND:
- /* Need a 4ms delay for controller to suspend */
- mdelay(4);
- tegra_usb_phy_post_suspend(tegra->phy);
- break;
- case USB_PORT_FEAT_RESET:
- if (ehci->reset_done[0] && wIndex == 0)
- tegra_usb_phy_bus_reset(tegra->phy);
- break;
- case USB_PORT_FEAT_POWER:
- if (wIndex == 0)
- tegra_usb_phy_port_power(tegra->phy);
- default:
+ if (!retval) {
+ switch (typeReq) {
+ case SetPortFeature:
+ if (wValue == USB_PORT_FEAT_SUSPEND) {
+ /* Need a 4ms delay for controller to suspend */
+ mdelay(4);
+ tegra_usb_phy_post_suspend(tegra->phy);
+ } else if (wValue == USB_PORT_FEAT_RESET) {
+ if (ehci->reset_done[0] && wIndex == 0)
+ tegra_usb_phy_bus_reset(tegra->phy);
+ } else if (wValue == USB_PORT_FEAT_POWER) {
+ if (wIndex == 1)
+ tegra_usb_phy_port_power(tegra->phy);
+ }
break;
case ClearPortFeature:
if (wValue == USB_PORT_FEAT_SUSPEND) {