summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSuresh Mangipudi <smangipudi@nvidia.com>2011-09-30 16:17:40 +0530
committerSimone Willett <swillett@nvidia.com>2011-10-21 14:04:38 -0700
commitefd628d15d4be1355c3eb4318935083149028a98 (patch)
tree3cbaf3941fefa9a921c98a23f9a7c822779059ac /drivers
parent38dc376fc332bdc34a9ee9fd9385fd447a0f343d (diff)
tegra: usb: phy: usb trigger change for wakeup event
Change the trigger for the wake events. The WAKE_ON_CONNECT bit should not be cleared until the PCD_STS bit is set. Bug 881388 Change-Id: I88d557a374ed3e20ebf434e1319beebf4498448c Reviewed-on: http://git-master/r/55436 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.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/usb/host/ehci-tegra.c b/drivers/usb/host/ehci-tegra.c
index b6fcc0971537..9536de77989e 100644
--- a/drivers/usb/host/ehci-tegra.c
+++ b/drivers/usb/host/ehci-tegra.c
@@ -121,15 +121,14 @@ static irqreturn_t tegra_ehci_irq (struct usb_hcd *hcd)
TEGRA_USB_PHY_CLK_VALID_INT_STS;
writel(val , (hcd->regs + TEGRA_USB_SUSP_CTRL_OFFSET));
- val = readl(hcd->regs + TEGRA_USB_PORTSC1_OFFSET);
- val &= ~TEGRA_USB_PORTSC1_WKCN;
- writel(val , (hcd->regs + TEGRA_USB_PORTSC1_OFFSET));
-
val = readl(&hw->status);
if (!(val & STS_PCD)) {
spin_unlock(&ehci->lock);
return 0;
}
+ val = readl(hcd->regs + TEGRA_USB_PORTSC1_OFFSET);
+ val &= ~(TEGRA_USB_PORTSC1_WKCN | PORT_RWC_BITS);
+ writel(val , (hcd->regs + TEGRA_USB_PORTSC1_OFFSET));
}
spin_unlock(&ehci->lock);
}