diff options
author | Vinod Atyam <vatyam@nvidia.com> | 2012-06-26 14:38:48 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-07-24 17:36:50 -0700 |
commit | 786ba00860c7dc3143c62bcbe5d371203238cd1d (patch) | |
tree | f75b12e13c3a8d08e976bbcef190e4838a7e1e1c | |
parent | b2010ea221679291ced813178b21efdae54b7baf (diff) |
usb: ehci: tegra: HSIC remote wakeup support
1) Returning in irq after remote wakeup resume handled
in ehci irq function.
2) Removed the unused variables.
Bug 889618
Change-Id: I9a1fd25c753a53462bf7742065fa618caae501ab
Signed-off-by: Vinod Atyam <vatyam@nvidia.com>
Reviewed-on: http://git-master/r/111192
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
-rw-r--r-- | drivers/usb/host/ehci-tegra.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c index b2747762a7ed..41e0fce515e3 100644 --- a/drivers/usb/host/ehci-tegra.c +++ b/drivers/usb/host/ehci-tegra.c @@ -155,7 +155,6 @@ static irqreturn_t tegra_ehci_irq(struct usb_hcd *hcd) struct tegra_ehci_hcd *tegra = dev_get_drvdata(hcd->self.controller); struct ehci_hcd *ehci = hcd_to_ehci(hcd); irqreturn_t irq_status; - bool pmc_remote_wakeup = false; spin_lock(&ehci->lock); irq_status = tegra_usb_phy_irq(tegra->phy); @@ -165,8 +164,9 @@ static irqreturn_t tegra_ehci_irq(struct usb_hcd *hcd) } if (tegra_usb_phy_remote_wakeup(tegra->phy)) { ehci_info(ehci, "remote wakeup detected\n"); - pmc_remote_wakeup = true; usb_hcd_resume_root_hub(hcd); + spin_unlock(&ehci->lock); + return irq_status; } spin_unlock(&ehci->lock); @@ -177,10 +177,6 @@ static irqreturn_t tegra_ehci_irq(struct usb_hcd *hcd) irq_status = ehci_irq(hcd); - if (pmc_remote_wakeup) { - ehci->controller_remote_wakeup = false; - } - if (ehci->controller_remote_wakeup) { ehci->controller_remote_wakeup = false; tegra_usb_phy_pre_resume(tegra->phy, true); @@ -201,7 +197,6 @@ 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; |