Subject: ACPI : Not register gsi for PCI IDE controller in legacy mode >From : Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> When PCI IDE controller works in legacy mode and no PRT entry is found in ACPI PRT table, OSPM will neither read the irq number from the IDE PCI configuration space nor call the function of acpi_register_gsi to register gsi. http://bugzilla.kernel.org/show_bug.cgi?id=5637 Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> --- drivers/acpi/pci_irq.c | 9 +++++++++ 1 file changed, 9 insertions(+) Index: linux-2.6.24-rc5/drivers/acpi/pci_irq.c =================================================================== --- linux-2.6.24-rc5.orig/drivers/acpi/pci_irq.c +++ linux-2.6.24-rc5/drivers/acpi/pci_irq.c @@ -429,6 +429,15 @@ int acpi_pci_irq_enable(struct pci_dev * &polarity, &link, acpi_pci_allocate_irq); + if (irq < 0) { + /* + * IDE legacy mode controller IRQs are magic. Why do compat + * extensions always make such a nasty mess. + */ + if (dev->class >> 8 == PCI_CLASS_STORAGE_IDE && + (dev->class & 0x05) == 0) + return 0; + } /* * No IRQ known to the ACPI subsystem - maybe the BIOS / * driver reported one, then use it. Exit in any case. - To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html