diff options
Diffstat (limited to 'kernel/debug/kdb')
| -rw-r--r-- | kernel/debug/kdb/kdb_io.c | 13 | ||||
| -rw-r--r-- | kernel/debug/kdb/kdb_private.h | 1 |
2 files changed, 9 insertions, 5 deletions
diff --git a/kernel/debug/kdb/kdb_io.c b/kernel/debug/kdb/kdb_io.c index 9e3cec7a925c..8339b291e8bc 100644 --- a/kernel/debug/kdb/kdb_io.c +++ b/kernel/debug/kdb/kdb_io.c | |||
| @@ -21,6 +21,7 @@ | |||
| 21 | #include <linux/smp.h> | 21 | #include <linux/smp.h> |
| 22 | #include <linux/nmi.h> | 22 | #include <linux/nmi.h> |
| 23 | #include <linux/delay.h> | 23 | #include <linux/delay.h> |
| 24 | #include <linux/kgdb.h> | ||
| 24 | #include <linux/kdb.h> | 25 | #include <linux/kdb.h> |
| 25 | #include <linux/kallsyms.h> | 26 | #include <linux/kallsyms.h> |
| 26 | #include "kdb_private.h" | 27 | #include "kdb_private.h" |
| @@ -669,10 +670,14 @@ kdb_printit: | |||
| 669 | * Write to all consoles. | 670 | * Write to all consoles. |
| 670 | */ | 671 | */ |
| 671 | retlen = strlen(kdb_buffer); | 672 | retlen = strlen(kdb_buffer); |
| 672 | while (c) { | 673 | if (!dbg_kdb_mode && kgdb_connected) { |
| 673 | c->write(c, kdb_buffer, retlen); | 674 | gdbstub_msg_write(kdb_buffer, retlen); |
| 674 | touch_nmi_watchdog(); | 675 | } else { |
| 675 | c = c->next; | 676 | while (c) { |
| 677 | c->write(c, kdb_buffer, retlen); | ||
| 678 | touch_nmi_watchdog(); | ||
| 679 | c = c->next; | ||
| 680 | } | ||
| 676 | } | 681 | } |
| 677 | if (logging) { | 682 | if (logging) { |
| 678 | saved_loglevel = console_loglevel; | 683 | saved_loglevel = console_loglevel; |
diff --git a/kernel/debug/kdb/kdb_private.h b/kernel/debug/kdb/kdb_private.h index 69ed2eff3fea..97d3ba69775d 100644 --- a/kernel/debug/kdb/kdb_private.h +++ b/kernel/debug/kdb/kdb_private.h | |||
| @@ -254,7 +254,6 @@ extern unsigned long kdb_task_state(const struct task_struct *p, | |||
| 254 | unsigned long mask); | 254 | unsigned long mask); |
| 255 | extern void kdb_ps_suppressed(void); | 255 | extern void kdb_ps_suppressed(void); |
| 256 | extern void kdb_ps1(const struct task_struct *p); | 256 | extern void kdb_ps1(const struct task_struct *p); |
| 257 | extern int kdb_parse(const char *cmdstr); | ||
| 258 | extern void kdb_print_nameval(const char *name, unsigned long val); | 257 | extern void kdb_print_nameval(const char *name, unsigned long val); |
| 259 | extern void kdb_send_sig_info(struct task_struct *p, struct siginfo *info); | 258 | extern void kdb_send_sig_info(struct task_struct *p, struct siginfo *info); |
| 260 | extern void kdb_meminfo_proc_show(void); | 259 | extern void kdb_meminfo_proc_show(void); |
