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 /drivers | |
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 'drivers')
-rw-r--r-- | drivers/firmware/dmi_scan.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/firmware/dmi_scan.c b/drivers/firmware/dmi_scan.c index b8b596d5778d..37deee6c0c1c 100644 --- a/drivers/firmware/dmi_scan.c +++ b/drivers/firmware/dmi_scan.c | |||
@@ -326,6 +326,26 @@ char *dmi_get_system_info(int field) | |||
326 | } | 326 | } |
327 | EXPORT_SYMBOL(dmi_get_system_info); | 327 | EXPORT_SYMBOL(dmi_get_system_info); |
328 | 328 | ||
329 | |||
330 | /** | ||
331 | * dmi_name_in_vendors - Check if string is anywhere in the DMI vendor information. | ||
332 | * @str: Case sensitive Name | ||
333 | */ | ||
334 | int dmi_name_in_vendors(char *str) | ||
335 | { | ||
336 | static int fields[] = { DMI_BIOS_VENDOR, DMI_BIOS_VERSION, DMI_SYS_VENDOR, | ||
337 | DMI_PRODUCT_NAME, DMI_PRODUCT_VERSION, DMI_BOARD_VENDOR, | ||
338 | DMI_BOARD_NAME, DMI_BOARD_VERSION, DMI_NONE }; | ||
339 | int i; | ||
340 | for (i = 0; fields[i] != DMI_NONE; i++) { | ||
341 | int f = fields[i]; | ||
342 | if (dmi_ident[f] && strstr(dmi_ident[f], str)) | ||
343 | return 1; | ||
344 | } | ||
345 | return 0; | ||
346 | } | ||
347 | EXPORT_SYMBOL(dmi_name_in_vendors); | ||
348 | |||
329 | /** | 349 | /** |
330 | * dmi_find_device - find onboard device by type/name | 350 | * dmi_find_device - find onboard device by type/name |
331 | * @type: device type or %DMI_DEV_TYPE_ANY to match all device types | 351 | * @type: device type or %DMI_DEV_TYPE_ANY to match all device types |