diff options
Diffstat (limited to 'arch/arm/include/asm/spinlock.h')
| -rw-r--r-- | arch/arm/include/asm/spinlock.h | 16 | 
1 files changed, 1 insertions, 15 deletions
diff --git a/arch/arm/include/asm/spinlock.h b/arch/arm/include/asm/spinlock.h index b4ca707d0a6..6220e9fdf4c 100644 --- a/arch/arm/include/asm/spinlock.h +++ b/arch/arm/include/asm/spinlock.h @@ -119,22 +119,8 @@ static inline int arch_spin_trylock(arch_spinlock_t *lock)  static inline void arch_spin_unlock(arch_spinlock_t *lock)  { -	unsigned long tmp; -	u32 slock; -  	smp_mb(); - -	__asm__ __volatile__( -"	mov	%1, #1\n" -"1:	ldrex	%0, [%2]\n" -"	uadd16	%0, %0, %1\n" -"	strex	%1, %0, [%2]\n" -"	teq	%1, #0\n" -"	bne	1b" -	: "=&r" (slock), "=&r" (tmp) -	: "r" (&lock->slock) -	: "cc"); - +	lock->tickets.owner++;  	dsb_sev();  }  |