diff --git a/headers/private/kernel/smp.h b/headers/private/kernel/smp.h index 685e3d5a03..43126eb697 100644 --- a/headers/private/kernel/smp.h +++ b/headers/private/kernel/smp.h @@ -210,10 +210,7 @@ static inline bool try_acquire_read_spinlock_inline(rw_spinlock* lock) { uint32 previous = atomic_add(&lock->lock, 1); - if ((previous & (1u << 31)) == 0) - return true; - atomic_test_and_set(&lock->lock, 1u << 31, previous); - return false; + return (previous & (1u << 31)) == 0; } diff --git a/src/system/kernel/smp.cpp b/src/system/kernel/smp.cpp index a82c7a273e..325fa7206d 100644 --- a/src/system/kernel/smp.cpp +++ b/src/system/kernel/smp.cpp @@ -617,11 +617,7 @@ try_acquire_read_spinlock(rw_spinlock* lock) #endif uint32 previous = atomic_add(&lock->lock, 1); - if ((previous & (1u << 31)) == 0) - return true; - - atomic_test_and_set(&lock->lock, 1u << 31, previous); - return false; + return (previous & (1u << 31)) == 0; }