Try this.
--- 25/arch/i386/kernel/mpparse.c~i386-double-clock-speed-fix 2004-06-20 18:04:47.409952912 -0700
+++ 25-akpm/arch/i386/kernel/mpparse.c 2004-06-20 18:05:13.034057456 -0700
@@ -1017,7 +1017,8 @@ void __init mp_config_acpi_legacy_irqs (
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;