Commit 482f3334 authored by Len Brown's avatar Len Brown

[ACPI] handle _CRS outside _PRS -- even when non-zero

avoid sharing IRQ12
http://bugzilla.kernel.org/show_bug.cgi?id=2665
parent 3dc567d8
...@@ -479,7 +479,7 @@ static int __initdata acpi_irq_penalty[ACPI_MAX_IRQS] = { ...@@ -479,7 +479,7 @@ static int __initdata acpi_irq_penalty[ACPI_MAX_IRQS] = {
PIRQ_PENALTY_PCI_AVAILABLE, /* IRQ9 PCI, often acpi */ PIRQ_PENALTY_PCI_AVAILABLE, /* IRQ9 PCI, often acpi */
PIRQ_PENALTY_PCI_AVAILABLE, /* IRQ10 PCI */ PIRQ_PENALTY_PCI_AVAILABLE, /* IRQ10 PCI */
PIRQ_PENALTY_PCI_AVAILABLE, /* IRQ11 PCI */ PIRQ_PENALTY_PCI_AVAILABLE, /* IRQ11 PCI */
PIRQ_PENALTY_ISA_TYPICAL, /* IRQ12 mouse */ PIRQ_PENALTY_ISA_USED, /* IRQ12 mouse */
PIRQ_PENALTY_ISA_USED, /* IRQ13 fpe, sometimes */ PIRQ_PENALTY_ISA_USED, /* IRQ13 fpe, sometimes */
PIRQ_PENALTY_ISA_USED, /* IRQ14 ide0 */ PIRQ_PENALTY_ISA_USED, /* IRQ14 ide0 */
PIRQ_PENALTY_ISA_USED, /* IRQ15 ide1 */ PIRQ_PENALTY_ISA_USED, /* IRQ15 ide1 */
...@@ -546,17 +546,23 @@ static int acpi_pci_link_allocate(struct acpi_pci_link* link) { ...@@ -546,17 +546,23 @@ static int acpi_pci_link_allocate(struct acpi_pci_link* link) {
if (link->irq.active == link->irq.possible[i]) if (link->irq.active == link->irq.possible[i])
break; break;
} }
/*
* forget active IRQ that is not in possible list
*/
if (i == link->irq.possible_count) {
if (acpi_strict)
printk(KERN_WARNING PREFIX "_CRS %d not found"
" in _PRS\n", link->irq.active);
link->irq.active = 0;
}
/* /*
* if active found, use it; else pick entry from end of possible list. * if active found, use it; else pick entry from end of possible list.
*/ */
if (i != link->irq.possible_count) { if (link->irq.active) {
irq = link->irq.active; irq = link->irq.active;
} else { } else {
irq = link->irq.possible[link->irq.possible_count - 1]; irq = link->irq.possible[link->irq.possible_count - 1];
if (acpi_strict)
printk(KERN_WARNING PREFIX "_CRS %d not found"
" in _PRS\n", link->irq.active);
} }
if (acpi_irq_balance || !link->irq.active) { if (acpi_irq_balance || !link->irq.active) {
......
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