On Tue, 20 May 2008, Remy Bohmer wrote:
Remy,
Can you see if this helps,
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
---
kernel/rtmutex.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Index: linux-2.6.24.7-rt9/kernel/rtmutex.c
===================================================================
--- linux-2.6.24.7-rt9.orig/kernel/rtmutex.c 2008-05-20 17:11:29.000000000 -0400
+++ linux-2.6.24.7-rt9/kernel/rtmutex.c 2008-05-20 17:13:18.000000000 -0400
@@ -1577,7 +1577,7 @@ rt_write_fastlock(struct rw_mutex *rwm,
void fastcall (*slowfn)(struct rw_mutex *rwm, int mtx),
int mtx)
{
- unsigned long val = (unsigned long)current | RT_RWLOCK_WRITER;
+ struct task_struct *val = (void *)((unsigned long)current | RT_RWLOCK_WRITER);
if (likely(rt_rwlock_cmpxchg(rwm, NULL, val)))
rt_mutex_deadlock_account_lock(&rwm->mutex, current);
@@ -1617,7 +1617,7 @@ static inline int
rt_write_fasttrylock(struct rw_mutex *rwm,
int fastcall (*slowfn)(struct rw_mutex *rwm, int mtx), int mtx)
{
- unsigned long val = (unsigned long)current | RT_RWLOCK_WRITER;
+ struct task_struct *val = (void *)((unsigned long)current | RT_RWLOCK_WRITER);
if (likely(rt_rwlock_cmpxchg(rwm, NULL, val))) {
rt_mutex_deadlock_account_lock(&rwm->mutex, current);
@@ -1902,7 +1902,7 @@ rt_write_fastunlock(struct rw_mutex *rwm
int mtx),
int mtx)
{
- unsigned long val = (unsigned long)current | RT_RWLOCK_WRITER;
+ struct task_struct *val = (void *)((unsigned long)current | RT_RWLOCK_WRITER);
WARN_ON(rt_rwlock_owner(rwm) != current);
if (likely(rt_rwlock_cmpxchg(rwm, (struct task_struct *)val, NULL)))
--