summaryrefslogtreecommitdiff
path: root/arch/microblaze/kernel/traps.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/microblaze/kernel/traps.c')
-rw-r--r--arch/microblaze/kernel/traps.c10
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;