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:
Bob Liu 2012-01-17 18:06:34 +08:00
parent 5d002cce4c
commit a5e0d8652a
1 changed files with 7 additions and 0 deletions

View File

@ -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)