diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-11-14 20:42:41 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-11-14 20:42:41 +0100 |
commit | 857c34cd094b94a82aceba23fdd9af47296404a2 (patch) | |
tree | 6ab433e6f905ec6284d16e6c5c9cca5e62496020 /arch/parisc/include/asm | |
parent | Merge branch 'spectre' of git://git.armlinux.org.uk/~rmk/linux-arm (diff) | |
parent | parisc: Revert "Release spinlocks using ordered store" (diff) | |
download | linux-857c34cd094b94a82aceba23fdd9af47296404a2.tar.xz linux-857c34cd094b94a82aceba23fdd9af47296404a2.zip |
Merge branch 'parisc-4.20-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux
Pull parisc fix from Helge Deller:
"Revert one patch which changed how spinlocks get released. It breaks
the rwlock implementation in glibc"
* 'parisc-4.20-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
parisc: Revert "Release spinlocks using ordered store"
Diffstat (limited to 'arch/parisc/include/asm')
-rw-r--r-- | arch/parisc/include/asm/spinlock.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/parisc/include/asm/spinlock.h b/arch/parisc/include/asm/spinlock.h index 16aec9ba2580..8a63515f03bf 100644 --- a/arch/parisc/include/asm/spinlock.h +++ b/arch/parisc/include/asm/spinlock.h @@ -37,8 +37,8 @@ static inline void arch_spin_unlock(arch_spinlock_t *x) volatile unsigned int *a; a = __ldcw_align(x); - /* Release with ordered store. */ - __asm__ __volatile__("stw,ma %0,0(%1)" : : "r"(1), "r"(a) : "memory"); + mb(); + *a = 1; } static inline int arch_spin_trylock(arch_spinlock_t *x) |