diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index 3facc8fcb91e..021f8fdc7512 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c @@ -190,11 +190,11 @@ static void show_trace_log_lvl(struct task_struct *task, struct pt_regs *regs, if (unw_ret > 0 && !arch_unw_user_mode(&info)) { #ifdef CONFIG_STACK_UNWIND print_symbol("DWARF2 unwinder stuck at %s\n", - UNW_PC(info.regs)); + UNW_PC(&info)); if (call_trace == 1) { printk("Leftover inexact backtrace:\n"); - if (UNW_SP(info.regs)) - stack = (void *)UNW_SP(info.regs); + if (UNW_SP(&info)) + stack = (void *)UNW_SP(&info); } else if (call_trace > 1) return; else @@ -1249,8 +1249,10 @@ static int __init call_trace_setup(char *s) call_trace = -1; else if (strcmp(s, "both") == 0) call_trace = 0; - else if (strcmp(s, "new") == 0) + else if (strcmp(s, "newfallback") == 0) call_trace = 1; + else if (strcmp(s, "new") == 2) + call_trace = 2; return 1; } __setup("call_trace=", call_trace_setup);