debug_core,kdb: Allow the debug core to process a recursive debug entry

This allows kdb to debug a crash with in the kms code with a
single level recursive re-entry.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
This commit is contained in:
Jason Wessel 2010-05-20 21:04:27 -05:00
parent d37d39ae3b
commit 6d90634076

View file

@ -445,6 +445,10 @@ static int kgdb_reenter_check(struct kgdb_state *ks)
}
printk(KERN_CRIT "KGDB: re-enter exception: ALL breakpoints killed\n");
#ifdef CONFIG_KGDB_KDB
/* Allow kdb to debug itself one level */
return 0;
#endif
dump_stack();
panic("Recursive entry to debugger");
@ -489,6 +493,9 @@ static int kgdb_cpu_enter(struct kgdb_state *ks, struct pt_regs *regs)
*/
atomic_inc(&cpu_in_kgdb[cpu]);
if (exception_level == 1)
goto cpu_master_loop;
/*
* CPU will loop if it is a slave or request to become a kgdb
* master cpu and acquire the kgdb_active lock: