From: David Brownell Date: Wed, 31 Aug 2005 17:47:20 +0000 (-0700) Subject: [PATCH] USB: OHCI irq tweak X-Git-Tag: v2.6.14-rc1~11^2~13 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e0fd3cbc50a8c925e8e7d8448df689015362c458;p=linux-2.6 [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" Signed-off-by: Jordan Crouse Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index ddaa9c82c5..6efb69f7c0 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, ®s->intrstatus); if (hcd->state != HC_STATE_QUIESCING) schedule_work(&ohci->rh_resume); }