aboutsummaryrefslogtreecommitdiff
path: root/arch/sh/kernel/traps_32.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-10-14 15:30:45 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2009-10-14 15:30:45 -0700
commitd470c05bedc27dbd2df9d0bb6fd82336e4ff43db (patch)
treee0dd12e061f6b2648e1ddac84eeb7232490f01e2 /arch/sh/kernel/traps_32.c
parentee67e6cbe1121da1ae4eceb7b2bcb535c5cbf65e (diff)
parent457b646189e47f9d48588809da3e806ec363f219 (diff)
Merge branch 'sh/for-2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
* 'sh/for-2.6.32' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: sh: Fix a TRACE_IRQS_OFF typo. sh: Optimize the setup_rt_frame() I-cache flush. sh: Populate initial secondary CPU info from boot_cpu_data. sh: Tidy up SMP cpuinfo. sh: Use boot_cpu_data for FPU tests in sigcontext paths. sh: ftrace: Fix up syscall tracepoint support. sh: force dcache flush if dcache_dirty bit set. sh: update die() output.
Diffstat (limited to 'arch/sh/kernel/traps_32.c')
-rw-r--r--arch/sh/kernel/traps_32.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/sh/kernel/traps_32.c b/arch/sh/kernel/traps_32.c
index e0b5e4b5acc..7a2ee3a6b8e 100644
--- a/arch/sh/kernel/traps_32.c
+++ b/arch/sh/kernel/traps_32.c
@@ -25,6 +25,7 @@
#include <linux/kexec.h>
#include <linux/limits.h>
#include <linux/proc_fs.h>
+#include <linux/sysfs.h>
#include <asm/system.h>
#include <asm/uaccess.h>
#include <asm/fpu.h>
@@ -159,12 +160,12 @@ void die(const char * str, struct pt_regs * regs, long err)
oops_enter();
- console_verbose();
spin_lock_irq(&die_lock);
+ console_verbose();
bust_spinlocks(1);
printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter);
-
+ sysfs_printk_last_file();
print_modules();
show_regs(regs);
@@ -180,6 +181,7 @@ void die(const char * str, struct pt_regs * regs, long err)
bust_spinlocks(0);
add_taint(TAINT_DIE);
spin_unlock_irq(&die_lock);
+ oops_exit();
if (kexec_should_crash(current))
crash_kexec(regs);
@@ -190,7 +192,6 @@ void die(const char * str, struct pt_regs * regs, long err)
if (panic_on_oops)
panic("Fatal exception");
- oops_exit();
do_exit(SIGSEGV);
}