#include <linux/kdebug.h>
#include <linux/smp.h>
+#include <asm/i8259.h>
+#include <asm/io_apic.h>
+#include <asm/smp.h>
+#include <asm/nmi.h>
#include <asm/proto.h>
#include <asm/timer.h>
if (!atomic_read(&nmi_active))
return 0;
- prev_nmi_count = kmalloc(NR_CPUS * sizeof(int), GFP_KERNEL);
+ prev_nmi_count = kmalloc(nr_cpu_ids * sizeof(int), GFP_KERNEL);
if (!prev_nmi_count)
goto error;
kfree(prev_nmi_count);
return 0;
-
error:
-#ifdef CONFIG_X86_32
- timer_ack = !cpu_has_tsc;
-#endif
+ if (nmi_watchdog == NMI_IO_APIC && !timer_through_8259)
+ disable_8259A_irq(0);
return -1;
}