summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2008-04-14 12:17:49 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-04-24 21:16:53 -0700
commit5f47493cdf90b8afe5353e59de30e449e775ea8b (patch)
treeb5c6ad08973d3dee7f360a0090ed515858cb9c6d
parent58a97ffeb2297f154659f339d77eb3f32c4d8b3e (diff)
downloadop-kernel-dev-5f47493cdf90b8afe5353e59de30e449e775ea8b.zip
op-kernel-dev-5f47493cdf90b8afe5353e59de30e449e775ea8b.tar.gz
USB: OHCI: turn off RD when remote wakeup is disabled
This patch (as1068b) disables the RD interrupt flag when an OHCI root hub is suspended with remote wakeup disabled. Although the spec clearly states that this flag permits the controller to issue an interrupt when a resume request from downstream is detected and not when a local status change occurs, some controllers mistakenly use it for both types of event. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/usb/host/ohci-hub.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/host/ohci-hub.c b/drivers/usb/host/ohci-hub.c
index cf3e1d2..355a82f 100644
--- a/drivers/usb/host/ohci-hub.c
+++ b/drivers/usb/host/ohci-hub.c
@@ -106,7 +106,8 @@ __acquires(ohci->lock)
if (ohci_to_hcd(ohci)->self.root_hub->do_remote_wakeup || autostop) {
ohci->hc_control |= OHCI_CTRL_RWE;
} else {
- ohci_writel (ohci, OHCI_INTR_RHSC, &ohci->regs->intrdisable);
+ ohci_writel(ohci, OHCI_INTR_RHSC | OHCI_INTR_RD,
+ &ohci->regs->intrdisable);
ohci->hc_control &= ~OHCI_CTRL_RWE;
}
OpenPOWER on IntegriCloud