浏览代码

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>
Alan Stern 17 年之前
父节点
当前提交
5f47493cdf
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      drivers/usb/host/ohci-hub.c

+ 2 - 1
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) {
 	if (ohci_to_hcd(ohci)->self.root_hub->do_remote_wakeup || autostop) {
 		ohci->hc_control |= OHCI_CTRL_RWE;
 		ohci->hc_control |= OHCI_CTRL_RWE;
 	} else {
 	} 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;
 		ohci->hc_control &= ~OHCI_CTRL_RWE;
 	}
 	}