Re: a question about interrupt of IDE controller( bug 5637)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux