diff options
author | Rakesh Bodla <rbodla@nvidia.com> | 2012-06-07 16:11:20 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-06-07 18:05:47 -0700 |
commit | 51457b0dc10527b1b1a28028e3891e81b840b92d (patch) | |
tree | fc31d0213ec59139b7cf9d3d7d08baf3b44bf387 /drivers | |
parent | 4576bb434c78b7a3dcd54ea053173dd75f966ffd (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.c | 32 |
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) { |