Thread (3 messages) 3 messages, 2 authors, 2008-01-11

Re: [Patch]: ACPI : Not register gsi for PCI IDE controller in legacy mode

From: Zhao Yakui <hidden>
Date: 2008-01-11 04:40:25
Also in: linux-acpi

On Thu, 2008-01-10 at 22:53 -0500, Len Brown wrote:
Applied to acpi test tree for .25.
Do you think this is .24 and a 23.stable candidate?

thanks,
-Len
I think that it is OK. 
On Monday 17 December 2007 02:13, Zhao Yakui wrote:
quoted
Subject: ACPI : Not register gsi for PCI IDE controller in legacy mode
quoted
From : Alan Cox [off-list ref]
When PCI IDE controller works in legacy mode and no PRT entry is found 
in ACPI PRT table, OSPM will neither read the irq number from the IDE
PCI configuration space nor call the function of acpi_register_gsi to
register gsi.

http://bugzilla.kernel.org/show_bug.cgi?id=5637

Signed-off-by: Zhao Yakui <redacted>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Signed-off-by: Alan Cox  <redacted>

---
 drivers/acpi/pci_irq.c |    9 +++++++++
 1 file changed, 9 insertions(+)

Index: linux-2.6.24-rc5/drivers/acpi/pci_irq.c
===================================================================
--- linux-2.6.24-rc5.orig/drivers/acpi/pci_irq.c
+++ linux-2.6.24-rc5/drivers/acpi/pci_irq.c
@@ -429,6 +429,15 @@ int acpi_pci_irq_enable(struct pci_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.
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help