diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-12-21 11:11:12 -0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-12-21 11:11:12 -0800 |
| commit | bfccd95e7aba73d0d3154912b17b855cb9938c50 (patch) | |
| tree | 3250b7806b873170a3ff7dba0aa1664e57c5bde9 /kernel | |
| parent | 252ca494ac75f0dc47469f130d6dc67ed14081f4 (diff) | |
| parent | 4ef7675344d687a0ef5b0d7c0cee12da005870c0 (diff) | |
| download | cachepc-linux-bfccd95e7aba73d0d3154912b17b855cb9938c50.tar.gz cachepc-linux-bfccd95e7aba73d0d3154912b17b855cb9938c50.zip | |
Merge 4.4-rc6 into usb-next
We want the USB and PHY fixes in here as well to make things easier for
testing and development.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/locking/osq_lock.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/locking/osq_lock.c b/kernel/locking/osq_lock.c index d092a0c9c2d4..05a37857ab55 100644 --- a/kernel/locking/osq_lock.c +++ b/kernel/locking/osq_lock.c @@ -93,10 +93,12 @@ bool osq_lock(struct optimistic_spin_queue *lock) node->cpu = curr; /* - * ACQUIRE semantics, pairs with corresponding RELEASE - * in unlock() uncontended, or fastpath. + * We need both ACQUIRE (pairs with corresponding RELEASE in + * unlock() uncontended, or fastpath) and RELEASE (to publish + * the node fields we just initialised) semantics when updating + * the lock tail. */ - old = atomic_xchg_acquire(&lock->tail, curr); + old = atomic_xchg(&lock->tail, curr); if (old == OSQ_UNLOCKED_VAL) return true; |
