diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c index f355d5dda068..99129c89120a 100644 --- a/kernel/locking/rtmutex.c +++ b/kernel/locking/rtmutex.c @@ -241,7 +241,7 @@ static __always_inline void mark_rt_mutex_waiters(struct rt_mutex_base *lock) do { owner = *p; - } while (cmpxchg(p, owner, + } while (cmpxchg_relaxed(p, owner, owner | RT_MUTEX_HAS_WAITERS) != owner); /*