diff options
Diffstat (limited to 'kernel/debug/kdb/kdb_debugger.c')
-rw-r--r-- | kernel/debug/kdb/kdb_debugger.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/debug/kdb/kdb_debugger.c b/kernel/debug/kdb/kdb_debugger.c index f024c0c4b8c4..bf6e8270e957 100644 --- a/kernel/debug/kdb/kdb_debugger.c +++ b/kernel/debug/kdb/kdb_debugger.c | |||
@@ -20,7 +20,15 @@ | |||
20 | get_char_func kdb_poll_funcs[] = { | 20 | get_char_func kdb_poll_funcs[] = { |
21 | dbg_io_get_char, | 21 | dbg_io_get_char, |
22 | NULL, | 22 | NULL, |
23 | NULL, | ||
24 | NULL, | ||
25 | NULL, | ||
26 | NULL, | ||
23 | }; | 27 | }; |
28 | EXPORT_SYMBOL_GPL(kdb_poll_funcs); | ||
29 | |||
30 | int kdb_poll_idx = 1; | ||
31 | EXPORT_SYMBOL_GPL(kdb_poll_idx); | ||
24 | 32 | ||
25 | int kdb_stub(struct kgdb_state *ks) | 33 | int kdb_stub(struct kgdb_state *ks) |
26 | { | 34 | { |
@@ -85,6 +93,7 @@ int kdb_stub(struct kgdb_state *ks) | |||
85 | kdb_bp_remove(); | 93 | kdb_bp_remove(); |
86 | KDB_STATE_CLEAR(DOING_SS); | 94 | KDB_STATE_CLEAR(DOING_SS); |
87 | KDB_STATE_CLEAR(DOING_SSB); | 95 | KDB_STATE_CLEAR(DOING_SSB); |
96 | KDB_STATE_SET(PAGER); | ||
88 | /* zero out any offline cpu data */ | 97 | /* zero out any offline cpu data */ |
89 | for_each_present_cpu(i) { | 98 | for_each_present_cpu(i) { |
90 | if (!cpu_online(i)) { | 99 | if (!cpu_online(i)) { |
@@ -112,6 +121,7 @@ int kdb_stub(struct kgdb_state *ks) | |||
112 | kdb_initial_cpu = -1; | 121 | kdb_initial_cpu = -1; |
113 | kdb_current_task = NULL; | 122 | kdb_current_task = NULL; |
114 | kdb_current_regs = NULL; | 123 | kdb_current_regs = NULL; |
124 | KDB_STATE_CLEAR(PAGER); | ||
115 | kdbnearsym_cleanup(); | 125 | kdbnearsym_cleanup(); |
116 | if (error == KDB_CMD_KGDB) { | 126 | if (error == KDB_CMD_KGDB) { |
117 | if (KDB_STATE(DOING_KGDB) || KDB_STATE(DOING_KGDB2)) { | 127 | if (KDB_STATE(DOING_KGDB) || KDB_STATE(DOING_KGDB2)) { |