aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2008-01-11 12:20:18 -0500
committerLen Brown <len.brown@intel.com>2008-01-11 12:20:18 -0500
commite63501d51d6a1a897470be2684e9c55a46d0d6d5 (patch)
tree7268d4ea00c151e4b3a65e019af975c235ba77da
parent88fb61e4ba263685a0d5b82c7e9cd6f22a9e6a9d (diff)
parent96c2a8766bf4fe91abac863749c11637fabcc64f (diff)
Pull bugzilla-5637 into release branch
-rw-r--r--drivers/acpi/pci_irq.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
index dd3186abe07..62010c2481b 100644
--- a/drivers/acpi/pci_irq.c
+++ b/drivers/acpi/pci_irq.c
@@ -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.