On Thu, 19 Feb 2004, Chip Salzenberg wrote: > Still fails in 2.6.3. Logs, with debugging on, are included below. > > A clue: The failure is not caused by re-plugging per se. It's > triggered by APM suspension. When I tested my system today with > 2.6.3, it worked OK at first; then I got the idea to suspend and > try again, and then it failed.
I think this may be the answer. Apparently on some systems the UHCI controller's interrupts are disabled during power management suspend/resume. This patch will re-enable interrupts. Let me know how it works. Alan Stern --- 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); } ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel