> 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. 

And pcibios_enable_irq should see interrupt in as 0 in that case. It also
knows about this but it seems the ACPI one doesn't.

I don't have a problem system but this would be my guess as to what we need

--- drivers/acpi/pci_irq.c~     2007-12-05 14:07:47.389727744 +0000
+++ drivers/acpi/pci_irq.c      2007-12-05 14:07:47.389727744 +0000
@@ -429,6 +429,13 @@
                                          &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-ide" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to