summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorHeiko Carstens <heiko.carstens@de.ibm.com>2007-06-19 13:10:05 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-06-19 13:10:20 +0200
commitbca0fb8683b7406d3056dc53a14b0a482c367e2b (patch)
tree9c42ec8d7c927766e2d7c6a74b6875f08156db5b /arch
parent[S390] Print list of modules on die(). (diff)
downloadlinux-bca0fb8683b7406d3056dc53a14b0a482c367e2b.tar.xz
linux-bca0fb8683b7406d3056dc53a14b0a482c367e2b.zip
[S390] Add oops_enter()/oops_exit() calls to die().
This is mainly to switch off all potentially debugging stuff that won't report anything useful after an oops happened. Besided that setting pause_on_oops will work too, but doesn't make too much sense on s390. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/s390/kernel/traps.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c
index 1d8c92740ccd..ee9186f8fb08 100644
--- a/arch/s390/kernel/traps.c
+++ b/arch/s390/kernel/traps.c
@@ -253,20 +253,22 @@ void die(const char * str, struct pt_regs * regs, long err)
{
static int die_counter;
+ oops_enter();
debug_stop_all();
console_verbose();
spin_lock_irq(&die_lock);
bust_spinlocks(1);
printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter);
print_modules();
- show_regs(regs);
+ show_regs(regs);
bust_spinlocks(0);
- spin_unlock_irq(&die_lock);
+ spin_unlock_irq(&die_lock);
if (in_interrupt())
panic("Fatal exception in interrupt");
if (panic_on_oops)
panic("Fatal exception: panic_on_oops");
- do_exit(SIGSEGV);
+ oops_exit();
+ do_exit(SIGSEGV);
}
static void inline