blackfin: bf561: forgot CSYNC in get_core_lock_noflush
SMP kgdb runs into dead loop without this CSYNC when one core single steps over get_core_lock_noflush and the other executes get_core_lock as a slave node. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Signed-off-by: Bob Liu <lliubbo@gmail.com>
This commit is contained in:
parent
5d002cce4c
commit
a5e0d8652a
|
@ -72,6 +72,13 @@ ENTRY(_get_core_lock_noflush)
|
||||||
SSYNC(r2);
|
SSYNC(r2);
|
||||||
jump .Lretry_corelock_noflush
|
jump .Lretry_corelock_noflush
|
||||||
.Ldone_corelock_noflush:
|
.Ldone_corelock_noflush:
|
||||||
|
/*
|
||||||
|
* SMP kgdb runs into dead loop without NOP here, when one core
|
||||||
|
* single steps over get_core_lock_noflush and the other executes
|
||||||
|
* get_core_lock as a slave node.
|
||||||
|
*/
|
||||||
|
nop;
|
||||||
|
CSYNC(r2);
|
||||||
rts;
|
rts;
|
||||||
ENDPROC(_get_core_lock_noflush)
|
ENDPROC(_get_core_lock_noflush)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue