[PATCH] 2.6.3: re-enable UHCI interrupts on APM resume

From: Chip Salzenberg
Date: Mon Mar 01 2004 - 18:19:40 EST


Alan Stern wrote the below patch which fixes a lockup problem with USB
on the ThinkPad A30. It's small, helpful, and not ThinkPad-specific.

So, although it will already be part of the next USB merge, I wanted
you to see it. Maybe you'll find it worth including in 2.6.4.

--- 2.6/drivers/usb/host/uhci-hcd.c.orig Fri Feb 20 15:04:41 2004
+++ 2.6/drivers/usb/host/uhci-hcd.c Sun Feb 22 15:23:59 2004
@@ -2471,9 +2471,16 @@

pci_set_master(to_pci_dev(uhci_dev(uhci)));

- if (uhci->state == UHCI_SUSPENDED)
+ if (uhci->state == UHCI_SUSPENDED) {
+
+ /*
+ * Some systems clear the Interrupt Enable register during
+ * PM suspend/resume, so reinitialize it.
+ */
+ outw(USBINTR_TIMEOUT | USBINTR_RESUME | USBINTR_IOC |
+ USBINTR_SP, uhci->io_addr + USBINTR);
uhci->resume_detect = 1;
- else {
+ } else {
reset_hc(uhci);
start_hc(uhci);
}


--
Chip Salzenberg - a.k.a. - <chip@xxxxxxxxx>
"I wanted to play hopscotch with the impenetrable mystery of existence,
but he stepped in a wormhole and had to go in early." // MST3K
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/