aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
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 /drivers
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 (diff)
parentACPI : Not register gsi for PCI IDE controller in legacy mode (diff)
downloadlinux-dev-e63501d51d6a1a897470be2684e9c55a46d0d6d5.tar.xz
linux-dev-e63501d51d6a1a897470be2684e9c55a46d0d6d5.zip
Pull bugzilla-5637 into release branch
Diffstat (limited to 'drivers')
-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 dd3186abe07a..62010c2481b3 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.