It seems that the PCI subsystem notices that all irq sources
share irq 9 and reroutes interrupts.
But after rerouting the interrupts it notices that something
is wrong and aborts the irq change, without undoing the
rerouting.
Thus the usb controller waits on irq 9, and doesn't receive
the interrupts.
If you play sound, you effectively poll the irq handler of
the USB controller, and then you can use your mouse.
Could you apply the attached patch, reboot and post the dmesg
output? And append cat /proc/interrupts.
-- Manfred --------------70AD756B1123F3F01D1F807B Content-Type: text/plain; charset=us-ascii; name="patch-DBG" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="patch-DBG"--- 2.4/arch/i386/kernel/pci-irq.c Sat Nov 3 19:51:08 2001 +++ build-2.4/arch/i386/kernel/pci-irq.c Sun Nov 4 11:57:00 2001 @@ -48,6 +48,8 @@ * Search 0xf0000 -- 0xfffff for the PCI IRQ Routing Table. */ +#undef DBG +#define DBG printk static struct irq_routing_table * __init pirq_find_routing_table(void) { u8 *addr;
--------------70AD756B1123F3F01D1F807B--
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/