Commit 8ce5e3e4 authored by Linus Torvalds's avatar Linus Torvalds

Disable NMI watchdog by default properly

This reverts commit 6ebf622b and
replaces it with one that actually works.
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 4e337ada
......@@ -245,14 +245,6 @@ static int __init check_nmi_watchdog(void)
unsigned int *prev_nmi_count;
int cpu;
/* Enable NMI watchdog for newer systems.
Probably safe on most older systems too, but let's be careful.
IBM ThinkPads use INT10 inside SMM and that allows early NMI inside SMM
which hangs the system. Disable watchdog for all thinkpads */
if (nmi_watchdog == NMI_DEFAULT && dmi_get_year(DMI_BIOS_DATE) >= 2004 &&
!dmi_name_in_vendors("ThinkPad"))
nmi_watchdog = NMI_LOCAL_APIC;
if ((nmi_watchdog == NMI_NONE) || (nmi_watchdog == NMI_DEFAULT))
return 0;
......
......@@ -187,10 +187,7 @@ void nmi_watchdog_default(void)
{
if (nmi_watchdog != NMI_DEFAULT)
return;
if (nmi_known_cpu())
nmi_watchdog = NMI_LOCAL_APIC;
else
nmi_watchdog = NMI_IO_APIC;
nmi_watchdog = NMI_NONE;
}
static int endflag __initdata = 0;
......
......@@ -33,7 +33,7 @@ extern int nmi_watchdog_tick (struct pt_regs * regs, unsigned reason);
extern atomic_t nmi_active;
extern unsigned int nmi_watchdog;
#define NMI_DEFAULT 0
#define NMI_DEFAULT -1
#define NMI_NONE 0
#define NMI_IO_APIC 1
#define NMI_LOCAL_APIC 2
......
......@@ -64,7 +64,7 @@ extern int setup_nmi_watchdog(char *);
extern atomic_t nmi_active;
extern unsigned int nmi_watchdog;
#define NMI_DEFAULT 0
#define NMI_DEFAULT -1
#define NMI_NONE 0
#define NMI_IO_APIC 1
#define NMI_LOCAL_APIC 2
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment