Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6
[powerpc.git] / drivers / acpi / pci_irq.c
index fe7d007..62010c2 100644 (file)
@@ -38,7 +38,7 @@
 #include <acpi/acpi_drivers.h>
 
 #define _COMPONENT             ACPI_PCI_COMPONENT
-ACPI_MODULE_NAME("pci_irq")
+ACPI_MODULE_NAME("pci_irq");
 
 static struct acpi_prt_list acpi_prt;
 static DEFINE_SPINLOCK(acpi_prt_lock);
@@ -429,6 +429,15 @@ int acpi_pci_irq_enable(struct pci_dev *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.