[PATCH] 2.4.27-rc1 i386 and x86_64 ACPI mpparse timer bug

From: Mikael Pettersson
Date: Sun Jun 20 2004 - 18:56:53 EST


2.4.27-rc1 reintroduced the double-speed timer ACPI bug.
Both x86-64 and i386 are affected.

The patch below fixes it on my box. It's a backport of a
patch Hans-Frieder Vogt made for 2.6.7-bk2, extended to
also handle i386.

/Mikael Pettersson

diff -ruN linux-2.4.27-rc1/arch/i386/kernel/mpparse.c linux-2.4.27-rc1.mpparse-fix/arch/i386/kernel/mpparse.c
--- linux-2.4.27-rc1/arch/i386/kernel/mpparse.c 2004-06-21 00:39:30.000000000 +0200
+++ linux-2.4.27-rc1.mpparse-fix/arch/i386/kernel/mpparse.c 2004-06-21 00:50:01.000000000 +0200
@@ -1211,7 +1211,7 @@

for (idx = 0; idx < mp_irq_entries; idx++)
if (mp_irqs[idx].mpc_srcbus == MP_ISA_BUS &&
- (mp_irqs[idx].mpc_dstapic == ioapic) &&
+ (mp_irqs[idx].mpc_dstapic == mp_ioapics[ioapic].mpc_apicid) &&
(mp_irqs[idx].mpc_srcbusirq == i ||
mp_irqs[idx].mpc_dstirq == i))
break;
diff -ruN linux-2.4.27-rc1/arch/x86_64/kernel/mpparse.c linux-2.4.27-rc1.mpparse-fix/arch/x86_64/kernel/mpparse.c
--- linux-2.4.27-rc1/arch/x86_64/kernel/mpparse.c 2004-06-21 00:39:30.000000000 +0200
+++ linux-2.4.27-rc1.mpparse-fix/arch/x86_64/kernel/mpparse.c 2004-06-21 00:50:01.000000000 +0200
@@ -866,7 +866,7 @@

for (idx = 0; idx < mp_irq_entries; idx++)
if (mp_irqs[idx].mpc_srcbus == MP_ISA_BUS &&
- (mp_irqs[idx].mpc_dstapic == ioapic) &&
+ (mp_irqs[idx].mpc_dstapic == intsrc.mpc_dstapic) &&
(mp_irqs[idx].mpc_srcbusirq == i ||
mp_irqs[idx].mpc_dstirq == i))
break;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/