aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorAlan Stern <stern@rowland.harvard.edu>2008-04-03 11:35:26 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2008-04-25 00:16:47 -0400
commit0d22f65515307c878ddd20b1305cce925ca9516c (patch)
treeeba160357db2615462cdc787f07b3f5ef770c710 /drivers/usb
parent9063ff44f081a0297085952f6760dfe1f8ca840e (diff)
USB: OHCI: fix bug in controller resume
This patch (as1063) fixes a bug in the way ohci-hcd resumes its controllers. It leaves the Master Interrupt Enable bit turned off. If the root hub is resumed immediately this won't matter. But if the root hub is suspended (say because no devices are plugged in), it won't ever wake up by itself. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> CC: David Brownell <david-b@pacbell.net> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/ohci-pci.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/host/ohci-pci.c b/drivers/usb/host/ohci-pci.c
index d0360f65ebd9..b0e2275755c8 100644
--- a/drivers/usb/host/ohci-pci.c
+++ b/drivers/usb/host/ohci-pci.c
@@ -312,11 +312,13 @@ static int ohci_pci_suspend (struct usb_hcd *hcd, pm_message_t message)
312 312
313static int ohci_pci_resume (struct usb_hcd *hcd) 313static int ohci_pci_resume (struct usb_hcd *hcd)
314{ 314{
315 struct ohci_hcd *ohci = hcd_to_ohci(hcd);
316
315 set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags); 317 set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
316 318
317 /* FIXME: we should try to detect loss of VBUS power here */ 319 /* FIXME: we should try to detect loss of VBUS power here */
318 prepare_for_handover(hcd); 320 prepare_for_handover(hcd);
319 321 ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrenable);
320 return 0; 322 return 0;
321} 323}
322 324