summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2010-05-27 14:43:40 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2010-05-27 14:43:40 +1000
commit5ebf36c8d5c188b7f8ff665291ced91f112dd3ed (patch)
tree1fbcc3d95a68cafae92af43d83043ec4cd619e1d /kernel
parentd1be108c9707d3d4f8eb9f23d24c5c58b72fb1e5 (diff)
parent93c47fada46e034941106fb34b76a00a87108fc5 (diff)
Merge remote branch 'kgdb/kgdb-next'
Diffstat (limited to 'kernel')
-rw-r--r--kernel/debug/kdb/kdb_main.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
index b724c791b6d4..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 */
@@ -2297,6 +2301,9 @@ static int kdb_ll(int argc, const char **argv)
while (va) {
char buf[80];
+ if (KDB_FLAG(CMD_INTERRUPT))
+ return 0;
+
sprintf(buf, "%s " kdb_machreg_fmt "\n", command, va);
diag = kdb_parse(buf);
if (diag)