summaryrefslogtreecommitdiff
path: root/drivers/usb/host/ehci-arc.c
diff options
context:
space:
mode:
authorXinyu Chen <b03824@freescale.com>2012-01-09 12:16:21 +0800
committerXinyu Chen <b03824@freescale.com>2012-01-09 12:16:21 +0800
commit951b812436e9aed71d44665e2243cf409b27adcd (patch)
treec2af101cbc1d0113e1043e0516ea63a0de772220 /drivers/usb/host/ehci-arc.c
parent083a297c124a17f6a98c3da885c4b2e5fd77d645 (diff)
parente14ab2b954bc8725c220bd54d26f71b23c1836ad (diff)
Merge commit 'rel_imx_2.6.38_12.01.00_RC1' into imx_2.6.38_android
Conflicts: drivers/input/touchscreen/egalax_ts.c
Diffstat (limited to 'drivers/usb/host/ehci-arc.c')
-rw-r--r--drivers/usb/host/ehci-arc.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/usb/host/ehci-arc.c b/drivers/usb/host/ehci-arc.c
index 4e6674a684df..1d015c92fc9c 100644
--- a/drivers/usb/host/ehci-arc.c
+++ b/drivers/usb/host/ehci-arc.c
@@ -155,6 +155,16 @@ static irqreturn_t ehci_fsl_pre_irq(int irq, void *dev)
pdata->wakeup_event = 0;
fsl_usb_recover_hcd(pdev);
return IRQ_HANDLED;
+ } else {
+ u32 portsc = 0;
+ struct ehci_hcd *ehci = hcd_to_ehci(hcd);
+ portsc = ehci_readl(ehci, &ehci->regs->port_status[0]);
+ /* PORT_USB11 macro is used to judge line state K*/
+ if ((PORT_USB11(portsc)) && (portsc & PORT_SUSPEND)) {
+ pdata = hcd->self.controller->platform_data;
+ if (pdata->platform_resume)
+ pdata->platform_resume(pdata);
+ }
}
return IRQ_NONE;
}