summaryrefslogtreecommitdiffstats
path: root/arch/parisc/include/asm
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-11-14 20:42:41 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2018-11-14 20:42:41 +0100
commit857c34cd094b94a82aceba23fdd9af47296404a2 (patch)
tree6ab433e6f905ec6284d16e6c5c9cca5e62496020 /arch/parisc/include/asm
parentMerge branch 'spectre' of git://git.armlinux.org.uk/~rmk/linux-arm (diff)
parentparisc: Revert "Release spinlocks using ordered store" (diff)
downloadlinux-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.h4
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)