Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -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;

+1 −4
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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