diff options
author | Dave Jones <davej@redhat.com> | 2006-12-06 20:14:12 -0500 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-12-06 20:14:12 -0500 |
commit | a36df98ab1cdd8a9e7daa4c1b5c48ffa2ad6ea09 (patch) | |
tree | 3b37f0f255cb9ec277188c87994c7c26d9a38c8f /arch | |
parent | d4c45718b3c0d3045eab803cd15fabbed1ea5bcd (diff) |
[PATCH] i386: touch softlockup during backtracing
Sometimes the soft watchdog fires after we're done oopsing.
See http://projects.info-pull.com/mokb/MOKB-25-11-2006.html for an example.
AK: changed to touch_nmi_watchdog()
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/i386/kernel/traps.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index 1d48a75fa33..86d8476be4f 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/kexec.h> | 29 | #include <linux/kexec.h> |
30 | #include <linux/unwind.h> | 30 | #include <linux/unwind.h> |
31 | #include <linux/uaccess.h> | 31 | #include <linux/uaccess.h> |
32 | #include <linux/nmi.h> | ||
32 | 33 | ||
33 | #ifdef CONFIG_EISA | 34 | #ifdef CONFIG_EISA |
34 | #include <linux/ioport.h> | 35 | #include <linux/ioport.h> |
@@ -248,6 +249,7 @@ void dump_trace(struct task_struct *task, struct pt_regs *regs, | |||
248 | stack = (unsigned long*)context->previous_esp; | 249 | stack = (unsigned long*)context->previous_esp; |
249 | if (!stack) | 250 | if (!stack) |
250 | break; | 251 | break; |
252 | touch_nmi_watchdog(); | ||
251 | } | 253 | } |
252 | } | 254 | } |
253 | EXPORT_SYMBOL(dump_trace); | 255 | EXPORT_SYMBOL(dump_trace); |