Good morning/afternoon/evening/night, I see that there was some debug code added to io_apic.c in kernel 2.4.6, that's compiled by default. It looks to me like there's a typo in the APIC_LOCKUP_DEBUG code that results in certain hardware setups potentially triggering an infinite loop, while holding the ioapic spinlock: namely when the irq_2_pin list contains more than one list member: the loop pointer gets reinitialized each time at the top of the loop - kablooey. After upgrading from 2.4.3 to 2.4.7, my 440GX motherboard (with a couple of PCI devices) keels over fast enough that even the NMI watchdog doesn't help, and the following patch fixes it. -- Sam