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" <[EMAIL PROTECTED]> Signed-off-by: Jordan Crouse <[EMAIL PROTECTED]> Signed-off-by: David Brownell <[EMAIL PROTECTED]> --- g26.orig/drivers/usb/host/ohci-hcd.c 2005-08-02 07:06:10.000000000 -0700 +++ g26/drivers/usb/host/ohci-hcd.c 2005-08-24 20:09:11.000000000 -0700 @@ -720,6 +720,7 @@ static irqreturn_t ohci_irq (struct usb_ 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); }