From: Zwane Mwaikambo <zwane@arm.linux.org.uk>

The P4 thermal interrupt vector was only getting set on SMP builds.



 25-akpm/arch/i386/kernel/apic.c    |    5 +++++
 25-akpm/arch/i386/kernel/smpboot.c |    5 -----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff -puN arch/i386/kernel/apic.c~p4-thermal-interrupt-fix arch/i386/kernel/apic.c
--- 25/arch/i386/kernel/apic.c~p4-thermal-interrupt-fix	Fri Aug  8 12:57:03 2003
+++ 25-akpm/arch/i386/kernel/apic.c	Fri Aug  8 12:57:03 2003
@@ -52,6 +52,11 @@ void __init apic_intr_init(void)
 	/* IPI vectors for APIC spurious and error interrupts */
 	set_intr_gate(SPURIOUS_APIC_VECTOR, spurious_interrupt);
 	set_intr_gate(ERROR_APIC_VECTOR, error_interrupt);
+
+	/* thermal monitor LVT interrupt */
+#ifdef CONFIG_X86_MCE_P4THERMAL
+	set_intr_gate(THERMAL_APIC_VECTOR, thermal_interrupt);
+#endif
 }
 
 /* Using APIC to generate smp_local_timer_interrupt? */
diff -puN arch/i386/kernel/smpboot.c~p4-thermal-interrupt-fix arch/i386/kernel/smpboot.c
--- 25/arch/i386/kernel/smpboot.c~p4-thermal-interrupt-fix	Fri Aug  8 12:57:03 2003
+++ 25-akpm/arch/i386/kernel/smpboot.c	Fri Aug  8 12:57:03 2003
@@ -1180,9 +1180,4 @@ void __init smp_intr_init(void)
 
 	/* IPI for generic function call */
 	set_intr_gate(CALL_FUNCTION_VECTOR, call_function_interrupt);
-
-	/* thermal monitor LVT interrupt */
-#ifdef CONFIG_X86_MCE_P4THERMAL
-	set_intr_gate(THERMAL_APIC_VECTOR, thermal_interrupt);
-#endif
 }

_