Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2004-02-13 12:05:37 -0500
committerLen Brown <len.brown@intel.com>2004-02-13 12:05:37 -0500
commitf6497de6fa05885c3bb7fa63738f1fdd452ae647 (patch)
tree3d30adc73b55d54b22a12ab4df0cf6c94499febc
parent22a505623ec695bd9dadbe4d9c4043517a1548ce (diff)
[ACPI] interrupt over-ride fix from i386 (Maciej W. Rozycki)
-rw-r--r--arch/x86_64/kernel/mpparse.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/arch/x86_64/kernel/mpparse.c b/arch/x86_64/kernel/mpparse.c
index 293f0a637d02..7f85ad115149 100644
--- a/arch/x86_64/kernel/mpparse.c
+++ b/arch/x86_64/kernel/mpparse.c
@@ -787,7 +787,7 @@ void __init mp_override_legacy_irq (
* erroneously sets the trigger to level, resulting in a HUGE
* increase of timer interrupts!
*/
- if ((bus_irq == 0) && (global_irq == 2) && (trigger == 3))
+ if ((bus_irq == 0) && (trigger == 3))
trigger = 1;
intsrc.mpc_type = MP_INTSRC;
@@ -808,8 +808,8 @@ void __init mp_override_legacy_irq (
* Otherwise create a new entry (e.g. global_irq == 2).
*/
for (i = 0; i < mp_irq_entries; i++) {
- if ((mp_irqs[i].mpc_dstapic == intsrc.mpc_dstapic)
- && (mp_irqs[i].mpc_dstirq == intsrc.mpc_dstirq)) {
+ if ((mp_irqs[i].mpc_srcbus == intsrc.mpc_srcbus)
+ && (mp_irqs[i].mpc_srcbusirq == intsrc.mpc_srcbusirq)) {
mp_irqs[i] = intsrc;
found = 1;
break;
@@ -855,9 +855,10 @@ void __init mp_config_acpi_legacy_irqs (void)
*/
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_dstirq = i;