On Tue, 2007-12-04 at 12:38 +0000, Alan Cox wrote: > > When the IDE controller works in legacy mode, the default IRQ for Ide0 > > interface is 14 and IRQ for Ide1 interface is 15. The default interrupt > > mode for IRQ14/15 is edge/high. If the interrupt of some PCI devices is > > routed to IRQ14 or 15 and the interrupt mode is switched to Low/Level, > > an exception will appear.(If the I/O APIC is used as the Interrupt > > controller, IRQ14/15 nobody cared for. If the I8259 is used as the > > interrupt controller, maybe some IDE interrupts will be lost). > > Yes. > > > In the Bug 5637: When the system works in acpi mode, there is no PCI > > interrupt router for IDE pci device in ACPI tables and OS will guess an > > interrupt for IDE PCI device, which is obtained from IDE PCI > > configuration space(The IRQ number is 15). OS will register the IRQ 15 > > using acpi_register_gsi and switch the interrupt mode of IRQ 15 to > > Low/level. Because the interrupt mode for IRQ 15 is uncorrect, there > > will be interrupt flood and the system reports: IRQ 15 nobody cared. > > > > How to fix this issue? Is IRQ 14/15 always reserved for the IDE > > device? > > No. > > If the IDE device is in legacy mode then the IRQ is fixed at 14/15 for > the two channels. If it is in PCI mode then the PCI and ACPI routing > applies. This is defined in the header of the IDE device. > > Class STORAGE:IDE > > Programming class bit 0 -> channel 0 is legacy (0x1F0, 0x3F6, 14) > Programming class bit 2 -> channel 1 is legacy (0x170, 0x376. 15) Thanks for the response. When IDE device works in legacy mode, the IRQ of IDE is fixed at 14/15 for the two channel. But IDE controller is a PCI device, OS will assign an interrupt number for the PCI device in which IDE controller resides. This is realized by calling ide_pci_enable, which will call pcibios_enable_irq. In the bug5637 OS registers the IRQ 15 in the initialization phase of PCI IDE controller and the interrupt mode is Low/level. So the problem appears. - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html