The fix for uhci.c appears to be to modify
drivers/usb/uhci.c:uhci_interrupt()
/*
* Read the interrupt status, and write it back to clear the
* interrupt cause
*/
status = inw(io_addr + USBSTS);
+ if (!status) /* interrupt not from UHCI, other shared device */
+ return;
outw(status, io_addr + USBSTS);
rest of processing
As, according to the UHCI specs, USBSTS is non-zero if any interrupt
was generated.
How come I can find so little evidence of this type of interrupt
handling for shared interrupts?
Paul
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/