Some code added to the debug_core module had KDB dependencies
that it shouldn't have.

Signed-off-by: Mike Travis <tra...@sgi.com>
---
 kernel/debug/debug_core.c |    8 ++++----
 kernel/debug/debug_core.h |    2 ++
 2 files changed, 6 insertions(+), 4 deletions(-)

--- linux.orig/kernel/debug/debug_core.c
+++ linux/kernel/debug/debug_core.c
@@ -575,8 +575,8 @@ return_normal:
                raw_spin_lock(&dbg_slave_lock);
 
 #ifdef CONFIG_SMP
-       /* If SYSTEM_NMI, slaves are already waiting */
-       if (ks->err_code == KDB_REASON_SYSTEM_NMI)
+       /* If send_ready set, slaves are already waiting */
+       if (ks->send_ready)
                atomic_set(ks->send_ready, 1);
 
        /* Signal the other CPUs to enter kgdb_wait() */
@@ -682,11 +682,11 @@ kgdb_handle_exception(int evector, int s
        if (arch_kgdb_ops.enable_nmi)
                arch_kgdb_ops.enable_nmi(0);
 
+       memset(ks, 0, sizeof(struct kgdb_state));
        ks->cpu                 = raw_smp_processor_id();
        ks->ex_vector           = evector;
        ks->signo               = signo;
        ks->err_code            = ecode;
-       ks->kgdb_usethreadid    = 0;
        ks->linux_regs          = regs;
 
        if (kgdb_reenter_check(ks))
@@ -750,7 +750,7 @@ int kgdb_nmicallin(int cpu, int trapnr,
                ks->cpu                 = cpu;
                ks->ex_vector           = trapnr;
                ks->signo               = SIGTRAP;
-               ks->err_code            = KDB_REASON_SYSTEM_NMI;
+               ks->err_code            = KGDB_KDB_REASON_SYSTEM_NMI;
                ks->linux_regs          = regs;
                ks->send_ready          = send_ready;
                kgdb_cpu_enter(ks, regs, DCPU_WANT_MASTER);
--- linux.orig/kernel/debug/debug_core.h
+++ linux/kernel/debug/debug_core.h
@@ -75,11 +75,13 @@ extern int kdb_stub(struct kgdb_state *k
 extern int kdb_parse(const char *cmdstr);
 extern int kdb_common_init_state(struct kgdb_state *ks);
 extern int kdb_common_deinit_state(void);
+#define KGDB_KDB_REASON_SYSTEM_NMI KDB_REASON_SYSTEM_NMI
 #else /* ! CONFIG_KGDB_KDB */
 static inline int kdb_stub(struct kgdb_state *ks)
 {
        return DBG_PASS_EVENT;
 }
+#define KGDB_KDB_REASON_SYSTEM_NMI 0
 #endif /* CONFIG_KGDB_KDB */
 
 #endif /* _DEBUG_CORE_H_ */

-- 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to