diff options
author | Suresh Mangipudi <smangipudi@nvidia.com> | 2011-09-30 16:17:40 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2011-10-21 14:04:38 -0700 |
commit | efd628d15d4be1355c3eb4318935083149028a98 (patch) | |
tree | 3cbaf3941fefa9a921c98a23f9a7c822779059ac /drivers | |
parent | 38dc376fc332bdc34a9ee9fd9385fd447a0f343d (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.c | 7 |
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); } |