diff options
Diffstat (limited to 'drivers/usb/host/ehci-tegra.c')
-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; |