diff options
Diffstat (limited to 'arch/x86/kernel/nmi_32.c')
-rw-r--r-- | arch/x86/kernel/nmi_32.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/kernel/nmi_32.c b/arch/x86/kernel/nmi_32.c index 11b14bbaa61e..6580dae46277 100644 --- a/arch/x86/kernel/nmi_32.c +++ b/arch/x86/kernel/nmi_32.c @@ -24,6 +24,8 @@ #include <linux/kdebug.h> #include <linux/slab.h> +#include <asm/i8259.h> +#include <asm/io_apic.h> #include <asm/smp.h> #include <asm/nmi.h> #include <asm/timer.h> @@ -131,7 +133,9 @@ int __init check_nmi_watchdog(void) kfree(prev_nmi_count); return 0; error: - timer_ack = !cpu_has_tsc; + if (nmi_watchdog == NMI_IO_APIC && !timer_through_8259) + disable_8259A_irq(0); + timer_ack = 0; return -1; } |