> 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