Commit f6497de6 authored by Len Brown's avatar Len Brown

[ACPI] interrupt over-ride fix from i386 (Maciej W. Rozycki)

parent 22a50562
...@@ -787,7 +787,7 @@ void __init mp_override_legacy_irq ( ...@@ -787,7 +787,7 @@ void __init mp_override_legacy_irq (
* erroneously sets the trigger to level, resulting in a HUGE * erroneously sets the trigger to level, resulting in a HUGE
* increase of timer interrupts! * increase of timer interrupts!
*/ */
if ((bus_irq == 0) && (global_irq == 2) && (trigger == 3)) if ((bus_irq == 0) && (trigger == 3))
trigger = 1; trigger = 1;
intsrc.mpc_type = MP_INTSRC; intsrc.mpc_type = MP_INTSRC;
...@@ -808,8 +808,8 @@ void __init mp_override_legacy_irq ( ...@@ -808,8 +808,8 @@ void __init mp_override_legacy_irq (
* Otherwise create a new entry (e.g. global_irq == 2). * Otherwise create a new entry (e.g. global_irq == 2).
*/ */
for (i = 0; i < mp_irq_entries; i++) { for (i = 0; i < mp_irq_entries; i++) {
if ((mp_irqs[i].mpc_dstapic == intsrc.mpc_dstapic) if ((mp_irqs[i].mpc_srcbus == intsrc.mpc_srcbus)
&& (mp_irqs[i].mpc_dstirq == intsrc.mpc_dstirq)) { && (mp_irqs[i].mpc_srcbusirq == intsrc.mpc_srcbusirq)) {
mp_irqs[i] = intsrc; mp_irqs[i] = intsrc;
found = 1; found = 1;
break; break;
...@@ -855,9 +855,10 @@ void __init mp_config_acpi_legacy_irqs (void) ...@@ -855,9 +855,10 @@ void __init mp_config_acpi_legacy_irqs (void)
*/ */
for (i = 0; i < 16; i++) { for (i = 0; i < 16; i++) {
if (i == 2) continue; /* Don't connect IRQ2 */ if (i == 2)
continue; /* Don't connect IRQ2 */
intsrc.mpc_irqtype = i ? mp_INT : mp_ExtINT; /* 8259A to #0 */ intsrc.mpc_irqtype = mp_INT;
intsrc.mpc_srcbusirq = i; /* Identity mapped */ intsrc.mpc_srcbusirq = i; /* Identity mapped */
intsrc.mpc_dstirq = i; intsrc.mpc_dstirq = i;
......
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