summaryrefslogtreecommitdiffstats
path: root/arch/parisc/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-11-14 13:42:41 -0600
committerLinus Torvalds <torvalds@linux-foundation.org>2018-11-14 13:42:41 -0600
commit857c34cd094b94a82aceba23fdd9af47296404a2 (patch)
tree6ab433e6f905ec6284d16e6c5c9cca5e62496020 /arch/parisc/include
parente2f8b472a70827348ce2007e121d67f49047ba62 (diff)
parent86d4d068df573a8c2105554624796c086d6bec3d (diff)
downloadtalos-obmc-linux-857c34cd094b94a82aceba23fdd9af47296404a2.tar.gz
talos-obmc-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')
-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)
OpenPOWER on IntegriCloud