summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorJason Wessel <jason.wessel@windriver.com>2010-05-23 08:24:30 -0500
committerJason Wessel <jason.wessel@windriver.com>2010-05-23 08:24:30 -0500
commit93c47fada46e034941106fb34b76a00a87108fc5 (patch)
tree7978031538bba8905c4ee4b0300dd46b4038c372 /kernel
parent31fe4ee8d4dfa9966143c694059491653000595f (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.c6
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 */