Skip to content

Commit

Permalink
blackfin: bf561: forgot CSYNC in get_core_lock_noflush
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Bob Liu committed Mar 21, 2012
1 parent 5d002cc commit a5e0d86
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions arch/blackfin/mach-bf561/atomic.S
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,13 @@ ENTRY(_get_core_lock_noflush)
SSYNC(r2);
jump .Lretry_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;
ENDPROC(_get_core_lock_noflush)

Expand Down

0 comments on commit a5e0d86

Please sign in to comment.