diff options
author | Jason Wessel <jason.wessel@windriver.com> | 2010-05-20 22:04:27 -0400 |
---|---|---|
committer | Jason Wessel <jason.wessel@windriver.com> | 2010-05-20 22:04:27 -0400 |
commit | d37d39ae3b4a8f9a21114921fb344fe7cadb1abd (patch) | |
tree | 2c20219725a12c343429758ec378b5c9d08b04bd /kernel/debug/kdb/kdb_main.c | |
parent | efe2f29e324fd20e0449bcd6dc6dbe4734c2ba94 (diff) |
printk,kdb: capture printk() when in kdb shell
Certain calls from the kdb shell will call out to printk(), and any of
these calls should get vectored back to the kdb_printf() so that the
kdb pager and processing can be used, as well as to properly channel
I/O to the polled I/O devices.
CC: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Acked-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'kernel/debug/kdb/kdb_main.c')
-rw-r--r-- | kernel/debug/kdb/kdb_main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c index 64ef9ac14ba9..b724c791b6d4 100644 --- a/kernel/debug/kdb/kdb_main.c +++ b/kernel/debug/kdb/kdb_main.c | |||
@@ -1056,7 +1056,9 @@ static void kdb_dumpregs(struct pt_regs *regs) | |||
1056 | { | 1056 | { |
1057 | int old_lvl = console_loglevel; | 1057 | int old_lvl = console_loglevel; |
1058 | console_loglevel = 15; | 1058 | console_loglevel = 15; |
1059 | kdb_trap_printk++; | ||
1059 | show_regs(regs); | 1060 | show_regs(regs); |
1061 | kdb_trap_printk--; | ||
1060 | kdb_printf("\n"); | 1062 | kdb_printf("\n"); |
1061 | console_loglevel = old_lvl; | 1063 | console_loglevel = old_lvl; |
1062 | } | 1064 | } |
@@ -1819,7 +1821,9 @@ static int kdb_sr(int argc, const char **argv) | |||
1819 | if (argc != 1) | 1821 | if (argc != 1) |
1820 | return KDB_ARGCOUNT; | 1822 | return KDB_ARGCOUNT; |
1821 | sysrq_toggle_support(1); | 1823 | sysrq_toggle_support(1); |
1824 | kdb_trap_printk++; | ||
1822 | handle_sysrq(*argv[1], NULL); | 1825 | handle_sysrq(*argv[1], NULL); |
1826 | kdb_trap_printk--; | ||
1823 | 1827 | ||
1824 | return 0; | 1828 | return 0; |
1825 | } | 1829 | } |