diff options
author | Ivan Kokshaysky <ink@jurassic.park.msu.ru> | 2005-09-23 00:43:57 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-23 01:17:34 -0400 |
commit | 4b3c86a7452df8608c32a1c1f19c0cc0723c145f (patch) | |
tree | c752756f7a569d2ae49f5725cd9a794550ad8059 /arch/alpha/kernel/process.c | |
parent | 720b9429e8f41f7c4ee9df293403650905042035 (diff) |
[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/kernel/process.c')
-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 fa98dae3cd98..eb20c3afff58 100644 --- a/arch/alpha/kernel/process.c +++ b/arch/alpha/kernel/process.c | |||
@@ -127,6 +127,10 @@ common_shutdown_1(void *generic_ptr) | |||
127 | /* If booted from SRM, reset some of the original environment. */ | 127 | /* If booted from SRM, reset some of the original environment. */ |
128 | if (alpha_using_srm) { | 128 | if (alpha_using_srm) { |
129 | #ifdef CONFIG_DUMMY_CONSOLE | 129 | #ifdef CONFIG_DUMMY_CONSOLE |
130 | /* If we've gotten here after SysRq-b, leave interrupt | ||
131 | context before taking over the console. */ | ||
132 | if (in_interrupt()) | ||
133 | irq_exit(); | ||
130 | /* This has the effect of resetting the VGA video origin. */ | 134 | /* This has the effect of resetting the VGA video origin. */ |
131 | take_over_console(&dummy_con, 0, MAX_NR_CONSOLES-1, 1); | 135 | take_over_console(&dummy_con, 0, MAX_NR_CONSOLES-1, 1); |
132 | #endif | 136 | #endif |