diff options
Diffstat (limited to 'arch/microblaze/kernel/traps.c')
-rw-r--r-- | arch/microblaze/kernel/traps.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/microblaze/kernel/traps.c b/arch/microblaze/kernel/traps.c index eaaaf805f31b..a66b03695d7e 100644 --- a/arch/microblaze/kernel/traps.c +++ b/arch/microblaze/kernel/traps.c @@ -22,13 +22,11 @@ void trap_init(void) __enable_hw_exceptions(); } -static int kstack_depth_to_print = 24; +static unsigned long kstack_depth_to_print = 24; static int __init kstack_setup(char *s) { - kstack_depth_to_print = strict_strtoul(s, 0, NULL); - - return 1; + return !strict_strtoul(s, 0, &kstack_depth_to_print); } __setup("kstack=", kstack_setup); @@ -73,8 +71,10 @@ void show_stack(struct task_struct *task, unsigned long *sp) if (task) sp = (unsigned long *) ((struct thread_info *) (task->stack))->cpu_context.r1; - else + else { sp = (unsigned long *)&sp; + sp -= 2; /* Pick up caller of dump_stack() */ + } } stack = sp; |