Commit 6c0d6304 authored by Len Brown's avatar Len Brown

Handle BIOS with _CRS that fails (Jun Nakajima)

parent 2043727b
...@@ -220,7 +220,6 @@ acpi_pci_link_check_current ( ...@@ -220,7 +220,6 @@ acpi_pci_link_check_current (
return AE_CTRL_TERMINATE; return AE_CTRL_TERMINATE;
} }
static int static int
acpi_pci_link_get_current ( acpi_pci_link_get_current (
struct acpi_pci_link *link) struct acpi_pci_link *link)
...@@ -279,6 +278,28 @@ acpi_pci_link_get_current ( ...@@ -279,6 +278,28 @@ acpi_pci_link_get_current (
return_VALUE(result); return_VALUE(result);
} }
static int
acpi_pci_link_try_get_current (
struct acpi_pci_link *link,
int irq)
{
int result;
ACPI_FUNCTION_TRACE("acpi_pci_link_try_get_current");
result = acpi_pci_link_get_current(link);
if (result && link->irq.active) {
return_VALUE(result);
}
if (!link->irq.active) {
ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "No active IRQ resource found\n"));
printk(KERN_WARNING "_CRS returns NULL! Using IRQ %d for device (%s [%s]).\n", irq, acpi_device_name(link->device), acpi_device_bid(link->device));
link->irq.active = irq;
}
return 0;
}
static int static int
acpi_pci_link_set ( acpi_pci_link_set (
...@@ -361,7 +382,7 @@ acpi_pci_link_set ( ...@@ -361,7 +382,7 @@ acpi_pci_link_set (
} }
/* Make sure the active IRQ is the one we requested. */ /* Make sure the active IRQ is the one we requested. */
result = acpi_pci_link_get_current(link); result = acpi_pci_link_try_get_current(link, irq);
if (result) { if (result) {
return_VALUE(result); return_VALUE(result);
} }
...@@ -574,10 +595,6 @@ acpi_pci_link_add ( ...@@ -574,10 +595,6 @@ acpi_pci_link_add (
else else
printk(" %d", link->irq.possible[i]); printk(" %d", link->irq.possible[i]);
} }
if (!link->irq.active)
printk(", disabled");
else if (!found)
printk(", enabled at IRQ %d", link->irq.active);
printk(")\n"); printk(")\n");
/* TBD: Acquire/release lock */ /* TBD: Acquire/release lock */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment