提交 a5e0d865 编写于 作者: B Bob Liu

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: NSonic Zhang <sonic.zhang@analog.com>
Signed-off-by: NBob Liu <lliubbo@gmail.com>
上级 5d002cce
...@@ -72,6 +72,13 @@ ENTRY(_get_core_lock_noflush) ...@@ -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)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册