|
@@ -1462,7 +1462,7 @@ acquirelock:
|
|
|
* Get the passive CPU lock which will hold all the non-primary
|
|
|
* CPU in a spin state while the debugger is active
|
|
|
*/
|
|
|
- if (!kgdb_single_step || !kgdb_contthread) {
|
|
|
+ if (!kgdb_single_step) {
|
|
|
for (i = 0; i < NR_CPUS; i++)
|
|
|
atomic_set(&passive_cpu_wait[i], 1);
|
|
|
}
|
|
@@ -1475,7 +1475,7 @@ acquirelock:
|
|
|
|
|
|
#ifdef CONFIG_SMP
|
|
|
/* Signal the other CPUs to enter kgdb_wait() */
|
|
|
- if ((!kgdb_single_step || !kgdb_contthread) && kgdb_do_roundup)
|
|
|
+ if ((!kgdb_single_step) && kgdb_do_roundup)
|
|
|
kgdb_roundup_cpus(flags);
|
|
|
#endif
|
|
|
|
|
@@ -1494,7 +1494,7 @@ acquirelock:
|
|
|
kgdb_post_primary_code(ks->linux_regs, ks->ex_vector, ks->err_code);
|
|
|
kgdb_deactivate_sw_breakpoints();
|
|
|
kgdb_single_step = 0;
|
|
|
- kgdb_contthread = NULL;
|
|
|
+ kgdb_contthread = current;
|
|
|
exception_level = 0;
|
|
|
|
|
|
/* Talk to debugger with gdbserial protocol */
|
|
@@ -1508,7 +1508,7 @@ acquirelock:
|
|
|
kgdb_info[ks->cpu].task = NULL;
|
|
|
atomic_set(&cpu_in_kgdb[ks->cpu], 0);
|
|
|
|
|
|
- if (!kgdb_single_step || !kgdb_contthread) {
|
|
|
+ if (!kgdb_single_step) {
|
|
|
for (i = NR_CPUS-1; i >= 0; i--)
|
|
|
atomic_set(&passive_cpu_wait[i], 0);
|
|
|
/*
|