aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorDavid Brownell <david-b@pacbell.net>2005-08-31 10:47:20 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2005-09-12 12:23:45 -0700
commite0fd3cbc50a8c925e8e7d8448df689015362c458 (patch)
treed77344b86ff3aa6bc72879677077e00347a0a8fc /drivers/usb
parent4809ecc29935893d954ab9244899777ffaca40ac (diff)
[PATCH] USB: OHCI irq tweak
Evidently there are some boards which care a lot about this, but as a rule it's been hard to notice. OHCI_INTR_RD wasn't always cleared in the ohci irq handler. On some systems this means certain remote wakeup scenarios could seem to hang (in an interrupt storm, RD never clearing). From: "William Morrow" <William.Morrow@amd.com> Signed-off-by: Jordan Crouse <jordan.crouse@amd.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/ohci-hcd.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c
index ddaa9c82c58..6efb69f7c07 100644
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
@@ -719,6 +719,7 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd, struct pt_regs *ptregs)
if (ints & OHCI_INTR_RD) {
ohci_vdbg (ohci, "resume detect\n");
+ ohci_writel (ohci, OHCI_INTR_RD, &regs->intrstatus);
if (hcd->state != HC_STATE_QUIESCING)
schedule_work(&ohci->rh_resume);
}