}
 
 #ifdef CONFIG_ARM_UNWIND
-static inline void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk)
+static inline void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk,
+                                 const char *loglvl)
 {
-       unwind_backtrace(regs, tsk, KERN_DEFAULT);
+       unwind_backtrace(regs, tsk, loglvl);
 }
 #else
-static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk)
+static void dump_backtrace(struct pt_regs *regs, struct task_struct *tsk,
+                          const char *loglvl)
 {
        unsigned int fp, mode;
        int ok = 1;
 
-       printk("Backtrace: ");
+       printk("%sBacktrace: ", loglvl);
 
        if (!tsk)
                tsk = current;
        pr_cont("\n");
 
        if (ok)
-               c_backtrace(fp, mode, NULL);
+               c_backtrace(fp, mode, loglvl);
 }
 #endif
 
 void show_stack(struct task_struct *tsk, unsigned long *sp)
 {
-       dump_backtrace(NULL, tsk);
+       dump_backtrace(NULL, tsk, KERN_DEFAULT);
        barrier();
 }
 
        if (!user_mode(regs) || in_interrupt()) {
                dump_mem(KERN_EMERG, "Stack: ", regs->ARM_sp,
                         THREAD_SIZE + (unsigned long)task_stack_page(tsk));
-               dump_backtrace(regs, tsk);
+               dump_backtrace(regs, tsk, KERN_EMERG);
                dump_instr(KERN_EMERG, regs);
        }