Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b680f097 authored by Tony Luck's avatar Tony Luck
Browse files

[IA64] Fix rwsem: RWSEM_WAITING_BIAS must not be unsigned.



Some nice improvements were made to rwsem in commit:

 424acaae
 rwsem: wake queued readers when writer blocks on active read lock

but this change overlooked that ia64 had defined RWSEM_WAITING_BIAS
as an unsigned value, while the new code required a signed value (as
it is in every other architecture).

This fix suggested by the original patch author: Michel Lespinasse.

Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent 5af568cb
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -40,9 +40,9 @@ struct rw_semaphore {
};

#define RWSEM_UNLOCKED_VALUE		__IA64_UL_CONST(0x0000000000000000)
#define RWSEM_ACTIVE_BIAS		__IA64_UL_CONST(0x0000000000000001)
#define RWSEM_ACTIVE_MASK		__IA64_UL_CONST(0x00000000ffffffff)
#define RWSEM_WAITING_BIAS		-__IA64_UL_CONST(0x0000000100000000)
#define RWSEM_ACTIVE_BIAS		(1L)
#define RWSEM_ACTIVE_MASK		(0xffffffffL)
#define RWSEM_WAITING_BIAS		(-0x100000000L)
#define RWSEM_ACTIVE_READ_BIAS		RWSEM_ACTIVE_BIAS
#define RWSEM_ACTIVE_WRITE_BIAS		(RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)