USB: OHCI: fix bug in controller resume
authorAlan Stern <stern@rowland.harvard.edu>
Thu, 3 Apr 2008 15:35:26 +0000 (11:35 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 25 Apr 2008 04:16:47 +0000 (21:16 -0700)
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>
drivers/usb/host/ohci-pci.c

index d0360f65ebd99951243d8d7cbd1cfe1683419c8a..b0e2275755c82bcdd41f48afed4e4b381e5715f1 100644 (file)
@@ -312,11 +312,13 @@ static int ohci_pci_suspend (struct usb_hcd *hcd, pm_message_t message)
 
 static int ohci_pci_resume (struct usb_hcd *hcd)
 {
+       struct ohci_hcd *ohci = hcd_to_ohci(hcd);
+
        set_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
 
        /* FIXME: we should try to detect loss of VBUS power here */
        prepare_for_handover(hcd);
-
+       ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrenable);
        return 0;
 }