summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorVinod Atyam <vatyam@nvidia.com>2012-06-26 14:38:48 +0530
committerSimone Willett <swillett@nvidia.com>2012-07-24 17:36:50 -0700
commit786ba00860c7dc3143c62bcbe5d371203238cd1d (patch)
treef75b12e13c3a8d08e976bbcef190e4838a7e1e1c /drivers/usb
parentb2010ea221679291ced813178b21efdae54b7baf (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>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/ehci-tegra.c9
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;