diff options
author | Ivan Kokshaysky <ink@jurassic.park.msu.ru> | 2005-09-22 21:43:57 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-22 22:17:34 -0700 |
commit | 4b3c86a7452df8608c32a1c1f19c0cc0723c145f (patch) | |
tree | c752756f7a569d2ae49f5725cd9a794550ad8059 /arch/alpha | |
parent | 720b9429e8f41f7c4ee9df293403650905042035 (diff) | |
download | op-kernel-dev-4b3c86a7452df8608c32a1c1f19c0cc0723c145f.zip op-kernel-dev-4b3c86a7452df8608c32a1c1f19c0cc0723c145f.tar.gz |
[PATCH] alpha: fix kernel panic during SysRq-b
acquire_console_sem() does BUG() in interrupt context now, as in the case
of SysRq-b.
Cc: Richard Henderson <rth@twiddle.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/alpha')
-rw-r--r-- | arch/alpha/kernel/process.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c index fa98dae..eb20c3a 100644 --- a/arch/alpha/kernel/process.c +++ b/arch/alpha/kernel/process.c @@ -127,6 +127,10 @@ common_shutdown_1(void *generic_ptr) /* If booted from SRM, reset some of the original environment. */ if (alpha_using_srm) { #ifdef CONFIG_DUMMY_CONSOLE + /* If we've gotten here after SysRq-b, leave interrupt + context before taking over the console. */ + if (in_interrupt()) + irq_exit(); /* This has the effect of resetting the VGA video origin. */ take_over_console(&dummy_con, 0, MAX_NR_CONSOLES-1, 1); #endif |