Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d906340 authored by Jason Wessel's avatar Jason Wessel
Browse files

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: default avatarJason Wessel <jason.wessel@windriver.com>
parent d37d39ae
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -445,6 +445,10 @@ static int kgdb_reenter_check(struct kgdb_state *ks)
	}
	}


	printk(KERN_CRIT "KGDB: re-enter exception: ALL breakpoints killed\n");
	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();
	dump_stack();
	panic("Recursive entry to debugger");
	panic("Recursive entry to debugger");


@@ -489,6 +493,9 @@ acquirelock:
	 */
	 */
	atomic_inc(&cpu_in_kgdb[cpu]);
	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
	 * CPU will loop if it is a slave or request to become a kgdb
	 * master cpu and acquire the kgdb_active lock:
	 * master cpu and acquire the kgdb_active lock: