Please try this updated debug patch. It clears the ELCR on Linux boot. Also, it prints out the ICH PIRQ registers which are the hardware underlying the ACPI PCI Interrupt Links. It no longer depends on IOAPIC support in the kernel, nor the apic=debug flag. Please boot it with no kernel parameters and report if it makes the floppy probe failure (or 8042 probe failure) go away, and send dmesg. If it still fails, please boot it with pci=routeirq and capture the dmesg; also boot it with acpi_dbg_level=1 and capture the dmesg. The former will program all the links before device probe, the later will cause the kernel to skip disabling the links and skip clearning the ELCR. thanks, -Len ps. what I think is happening... To its credit, he BIOS correctly recognizes that there is no floppy, and it routes a PIRQ to IRQ6. It correctly sets the ELCR bit for this IRQ. Linux boots and disables all the PCI Interrupt Links, which un-programs the PIRQ directed to IRQ6. However, Linux doesn't clear the ELCR first, and for some reason that causes an interrupt to latch in IRQ6 -- though it is masked. Along comes the broken floppy driver before the PCI devices probe. floppy doesn't realize there is no hardware and unwittingly does a request_irq(6). Since nobody is camped on IRQ6, this exclusive request succeeds, IRQ6 is unmasked and the floppy driver takes the outstaning interrupt. For some reason it is unable to clear the IRQ. I don't think it is because the line is being driven by the PIRQ, that is disabled. It may have something to do with the ELCR still being set to level senstive for this IRQ. So this hangs the system, or with Linus' update to floppy.c, it nukes IRQ6. I'm hopeful that with a cleared ELCR, the misguided legacy floppy probe will work as it always has, and floppy will then unload so the PCI device can later claim IRQ6 and program the link and the ELCR accordingly. I do believe that Linux should continue to disable the PCI Interrupt Links at boot and enable them only on demand. We used to leave them all enabled and on some systems that caused spurious interrupts, duplicated interrupts, and all kinds of crazy things. Note if the floppy driver had not requested IRQ6, then a PCI device would have requested it, the link would be programmed, and ELCR would be set (redundant), and the interrupt unmasked. The device would take the initial interrupt, it would clear it successfully, and run normally from then on.