From 2ba0592d502e828e08db46fa0640779fd9b402d8 Mon Sep 17 00:00:00 2001 From: Bob Liu Date: Tue, 17 Jan 2012 18:06:34 +0800 Subject: [PATCH] --- yaml --- r: 293950 b: refs/heads/master c: a5e0d8652adfc0530b3fce18e54e429287aeee73 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/blackfin/mach-bf561/atomic.S | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index d39be43aed11..46060d0fb5fa 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5d002cce4c8a24234b81033119eda3272ebf7981 +refs/heads/master: a5e0d8652adfc0530b3fce18e54e429287aeee73 diff --git a/trunk/arch/blackfin/mach-bf561/atomic.S b/trunk/arch/blackfin/mach-bf561/atomic.S index 52d6f73fcced..2a08df8e8c4c 100644 --- a/trunk/arch/blackfin/mach-bf561/atomic.S +++ b/trunk/arch/blackfin/mach-bf561/atomic.S @@ -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)