Bluetooth: optimize barrier usage for Rmw atomics

Use smp_mb__before_atomic() instead of smp_mb() and avoid the
unnecessary barrier for non LL/SC architectures, such as x86.

Signed-off-by: Davidlohr Bueso <dbueso@suse.de>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Davidlohr Bueso 2020-01-29 10:10:41 -08:00 committed by Marcel Holtmann
parent 6c08fc896b
commit fe66483156

View File

@ -1279,7 +1279,7 @@ static int hidp_session_thread(void *arg)
add_wait_queue(sk_sleep(session->intr_sock->sk), &intr_wait);
/* This memory barrier is paired with wq_has_sleeper(). See
* sock_poll_wait() for more information why this is needed. */
smp_mb();
smp_mb__before_atomic();
/* notify synchronous startup that we're ready */
atomic_inc(&session->state);