diff options
| -rw-r--r-- | include/asm-generic/rwsem.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-generic/rwsem.h b/include/asm-generic/rwsem.h index bb1e2cdeb..75af612f5 100644 --- a/include/asm-generic/rwsem.h +++ b/include/asm-generic/rwsem.h @@ -41,7 +41,7 @@ static inline int __down_read_trylock(struct rw_semaphore *sem) { long tmp; - while ((tmp = sem->count) >= 0) { + while ((tmp = atomic_long_read((atomic_long_t *)&sem->count)) >= 0) { if (tmp == cmpxchg(&sem->count, tmp, tmp + RWSEM_ACTIVE_READ_BIAS)) { return 1; |
