On 2020-07-19 2:41 p.m., John David Anglin wrote: > #define arch_spin_lock_flags arch_spin_lock_flags > @@ -46,23 +44,16 @@ static inline void arch_spin_unlock(arch_spinlock_t *x) > volatile unsigned int *a; > > a = __ldcw_align(x); > -#ifdef CONFIG_SMP > - (void) __ldcw(a); > -#else > - mb(); > -#endif > + __ldcw_mb(a); > *a = 1; > } I'm retesting using an ordered store for the release. So far, it's looking okay. Dave -- John David Anglin dave.anglin@xxxxxxxx