]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - arch/x86/kernel/nmi.c
x86: nmi - fix incorrect NMI watchdog used by default
[linux-2.6-omap-h63xx.git] / arch / x86 / kernel / nmi.c
index 69a839fc1eb0d36f2abc5d838de0558c39fb754d..3671a9f3564b5a41a78595a7419b3c99b61b0e00 100644 (file)
@@ -84,20 +84,15 @@ static inline unsigned int get_timer_irqs(int cpu)
 #endif
 }
 
+#ifdef CONFIG_X86_64
 /* Run after command line and cpu_init init, but before all other checks */
 void nmi_watchdog_default(void)
 {
        if (nmi_watchdog != NMI_DEFAULT)
                return;
-#ifdef CONFIG_X86_64
        nmi_watchdog = NMI_NONE;
-#else
-       if (lapic_watchdog_ok())
-               nmi_watchdog = NMI_LOCAL_APIC;
-       else
-               nmi_watchdog = NMI_IO_APIC;
-#endif
 }
+#endif
 
 #ifdef CONFIG_SMP
 /*
@@ -488,8 +483,15 @@ int proc_nmi_enabled(struct ctl_table *table, int write, struct file *file,
                return -EIO;
        }
 
+#ifdef CONFIG_X86_64
        /* if nmi_watchdog is not set yet, then set it */
        nmi_watchdog_default();
+#else
+       if (lapic_watchdog_ok())
+               nmi_watchdog = NMI_LOCAL_APIC;
+       else
+               nmi_watchdog = NMI_IO_APIC;
+#endif
 
        if (nmi_watchdog == NMI_LOCAL_APIC) {
                if (nmi_watchdog_enabled)