diff options
Diffstat (limited to 'include/cpu/atomic/swap.h')
-rw-r--r-- | include/cpu/atomic/swap.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/cpu/atomic/swap.h b/include/cpu/atomic/swap.h index ebaaa1d..57a5add 100644 --- a/include/cpu/atomic/swap.h +++ b/include/cpu/atomic/swap.h @@ -13,7 +13,8 @@ static inline void atm_lock(unsigned long pid, unsigned long* addr) { unsigned long tmp, current_lock_value; asm volatile( -"1: ldrex %0, [%3]\n" +"1: clrex\n" +" ldrex %0, [%3]\n" " cmp %0, #0\n" " wfene\n" " strexeq %1, %2, [%3]\n" |