diff options
author | Andi Kleen <ak@suse.de> | 2006-10-21 12:37:02 -0400 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-10-21 12:37:02 -0400 |
commit | a1bae67243512ca30ceda48e3e24e25b543f8ab7 (patch) | |
tree | 9f90a2a4ac04ecd7e23c0049570cd570b6ae37ee /arch/i386 | |
parent | 581910e2eb952e541b8ca9b5f551d6c124903b61 (diff) |
[PATCH] i386: Disable nmi watchdog on all ThinkPads
Even newer Thinkpads have bugs in SMM code that causes hangs with
NMI watchdog.
Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'arch/i386')
-rw-r--r-- | arch/i386/kernel/nmi.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/i386/kernel/nmi.c b/arch/i386/kernel/nmi.c index 3e8e3adb0489..eaafe233a5da 100644 --- a/arch/i386/kernel/nmi.c +++ b/arch/i386/kernel/nmi.c | |||
@@ -219,11 +219,11 @@ static int __init check_nmi_watchdog(void) | |||
219 | int cpu; | 219 | int cpu; |
220 | 220 | ||
221 | /* Enable NMI watchdog for newer systems. | 221 | /* Enable NMI watchdog for newer systems. |
222 | Actually it should be safe for most systems before 2004 too except | 222 | Probably safe on most older systems too, but let's be careful. |
223 | for some IBM systems that corrupt registers when NMI happens | 223 | IBM ThinkPads use INT10 inside SMM and that allows early NMI inside SMM |
224 | during SMM. Unfortunately we don't have more exact information | 224 | which hangs the system. Disable watchdog for all thinkpads */ |
225 | on these and use this coarse check. */ | 225 | if (nmi_watchdog == NMI_DEFAULT && dmi_get_year(DMI_BIOS_DATE) >= 2004 && |
226 | if (nmi_watchdog == NMI_DEFAULT && dmi_get_year(DMI_BIOS_DATE) >= 2004) | 226 | !dmi_name_in_vendors("ThinkPad")) |
227 | nmi_watchdog = NMI_LOCAL_APIC; | 227 | nmi_watchdog = NMI_LOCAL_APIC; |
228 | 228 | ||
229 | if ((nmi_watchdog == NMI_NONE) || (nmi_watchdog == NMI_DEFAULT)) | 229 | if ((nmi_watchdog == NMI_NONE) || (nmi_watchdog == NMI_DEFAULT)) |