diff options
author | Jason Wessel <jason.wessel@windriver.com> | 2010-05-23 08:24:30 -0500 |
---|---|---|
committer | Jason Wessel <jason.wessel@windriver.com> | 2010-05-23 08:24:30 -0500 |
commit | 93c47fada46e034941106fb34b76a00a87108fc5 (patch) | |
tree | 7978031538bba8905c4ee4b0300dd46b4038c372 /kernel | |
parent | 31fe4ee8d4dfa9966143c694059491653000595f (diff) |
kdb: Restore previous sysrq state
The kdb sysrq handler must return the sysrq state to what ever it was
previously after invoking handle_sysrq().
CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
CC: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/debug/kdb/kdb_main.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c index f231c947349a..75ae5e1ccd9d 100644 --- a/kernel/debug/kdb/kdb_main.c +++ b/kernel/debug/kdb/kdb_main.c @@ -1818,13 +1818,17 @@ static int kdb_rm(int argc, const char **argv) */ static int kdb_sr(int argc, const char **argv) { + int toggle_save; + if (argc != 1) return KDB_ARGCOUNT; - sysrq_toggle_support(1); + toggle_save = sysrq_toggle_support(1); kdb_trap_printk++; handle_sysrq(*argv[1], NULL); kdb_trap_printk--; + sysrq_toggle_support(toggle_save); + return 0; } #endif /* CONFIG_MAGIC_SYSRQ */ |