[Patch 2/6] x86: mce: Convert mce code to xpanic

K.Prasad
2011-05-26T17:13:15Z

commit aea29c4a9324f24b5c61e7c3919a8137a53be935
Author: Andi Kleen <ak@linux.intel.com>
Date: Fri Nov 19 18:42:02 2010 +0100

x86: mce: Convert mce code to xpanic

- Pass in the panic timeout directly instead of
abusing global variable.
- Disable backtraces and kexecs on machine check panics
because they don't do anything useful.

Signed-off-by: Andi Kleen <ak@linux.intel.com>

---
arch/x86/kernel/cpu/mcheck/mce.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)

Index: linux-2.6.slim_kdump/arch/x86/kernel/cpu/mcheck/mce.c
===================================================================
--- linux-2.6.slim_kdump.orig/arch/x86/kernel/cpu/mcheck/mce.c
+++ linux-2.6.slim_kdump/arch/x86/kernel/cpu/mcheck/mce.c
@@ -258,9 +258,8 @@ static void wait_for_panic(void)
local_irq_enable();
while (timeout-- > 0)
udelay(1);
- if (panic_timeout == 0)
- panic_timeout = mce_panic_timeout;
- panic("Panicing machine check CPU died");
+ xpanic(PANIC_NO_KEXEC|PANIC_NO_BACKTRACE, 0,
+ "Panicing machine check CPU died");
}

static void mce_panic(char *msg, struct mce *final, char *exp)
@@ -316,9 +315,8 @@ static void mce_panic(char *msg, struct
if (exp)
pr_emerg(HW_ERR "Machine check: %s\n", exp);
if (!fake_panic) {
- if (panic_timeout == 0)
- panic_timeout = mce_panic_timeout;
- panic(msg);
+ xpanic(PANIC_NO_KEXEC|PANIC_NO_BACKTRACE, mce_panic_timeout,
+ msg);
} else
pr_emerg(HW_ERR "Fake kernel panic: %s\n", msg);
}