Skip to content
Snippets Groups Projects
user avatar
Tony Luck authored
These have been broken (returning "int") since the dawn of
time. But there were no users that needed the whole value
until commit
 424acaae
 rwsem: wake queued readers when writer blocks on active read lock

made this change:

-           (rwsem_atomic_update(0, sem) & RWSEM_ACTIVE_MASK))
-               /* Someone grabbed the sem already */
+           rwsem_atomic_update(0, sem) < RWSEM_WAITING_BIAS)
+               /* Someone grabbed the sem for write already */

RWSEM_ACTIVE_MASK is 0xffffffffL, so the old code only looked
at the low order 32-bits. The new code needs to see all 64 bits.

Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
01d69a82
History
Name Last commit Last update
..