diff options
Diffstat (limited to 'arch/s390')
-rw-r--r-- | arch/s390/kernel/traps.c | 8 |
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) | |||
253 | { | 253 | { |
254 | static int die_counter; | 254 | static int die_counter; |
255 | 255 | ||
256 | oops_enter(); | ||
256 | debug_stop_all(); | 257 | debug_stop_all(); |
257 | console_verbose(); | 258 | console_verbose(); |
258 | spin_lock_irq(&die_lock); | 259 | spin_lock_irq(&die_lock); |
259 | bust_spinlocks(1); | 260 | bust_spinlocks(1); |
260 | printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter); | 261 | printk("%s: %04lx [#%d]\n", str, err & 0xffff, ++die_counter); |
261 | print_modules(); | 262 | print_modules(); |
262 | show_regs(regs); | 263 | show_regs(regs); |
263 | bust_spinlocks(0); | 264 | bust_spinlocks(0); |
264 | spin_unlock_irq(&die_lock); | 265 | spin_unlock_irq(&die_lock); |
265 | if (in_interrupt()) | 266 | if (in_interrupt()) |
266 | panic("Fatal exception in interrupt"); | 267 | panic("Fatal exception in interrupt"); |
267 | if (panic_on_oops) | 268 | if (panic_on_oops) |
268 | panic("Fatal exception: panic_on_oops"); | 269 | panic("Fatal exception: panic_on_oops"); |
269 | do_exit(SIGSEGV); | 270 | oops_exit(); |
271 | do_exit(SIGSEGV); | ||
270 | } | 272 | } |
271 | 273 | ||
272 | static void inline | 274 | static void inline |