[RFC 2/2] don't enable link device in IOAPIC mode

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

 



In Stian's system, if link device is enabled in IOAPIC mode, pci device
will connect to link device and link device connect to IOAPIC pin. That
is the device's interrupt is decided by link's irq. If link device is
disabled, pci device is connected to IOAPIC pin.
There are two devices who share one link device in pic mode, but in
IOAPIC mode, _PRT table reported one device connected to IOAPIC pin and
the other connected to the link device. If the link device is enabled,
the device connected to IOAPIC pin directly will break as _PRT reported
interrupt for the device doesn't reflect the case link device is
enabled. If we leave the link device disabled, the device which
connected to the link device doesn't break. It appears the link device
is just used to get an interrupt number instead of for real interrupt
routing. So in this patch, if current irq model is IOAPIC, we will leave
link device disabled and just use its active irq number.

Signed-off-by: Shaohua Li<shaohua.li@xxxxxxxxx>

diff --git a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
index d53bd98..655bb49 100644
--- a/drivers/acpi/pci_link.c
+++ b/drivers/acpi/pci_link.c
@@ -527,6 +527,10 @@ static int acpi_pci_link_allocate(struct
 	int i;
 
 
+	if (acpi_irq_model == ACPI_IRQ_MODEL_IOAPIC && link->irq.active) {
+		link->irq.initialized = 1;
+		return 0;
+	}
 	if (link->irq.initialized) {
 		if (link->refcnt == 0)
 			/* This means the link is disabled but initialized */
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux