diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2009-01-14 15:32:51 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-14 18:08:58 +0100 |
commit | 93d81d1aca26e64a75d06a85f7e128b5f49053e7 (patch) | |
tree | 760e65b9170ef90d1a2824ddd1e33ad70043e8ca /kernel/mutex.c | |
parent | a6525042bfdfcab128bd91fad264de10fd24a55e (diff) | |
download | linux-93d81d1aca26e64a75d06a85f7e128b5f49053e7.tar.gz linux-93d81d1aca26e64a75d06a85f7e128b5f49053e7.tar.bz2 linux-93d81d1aca26e64a75d06a85f7e128b5f49053e7.zip |
mutex: small cleanup
Remove a local variable by combining an assingment and test in one.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/mutex.c')
-rw-r--r-- | kernel/mutex.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/kernel/mutex.c b/kernel/mutex.c index 4f45d4b658ef..357c6d221efe 100644 --- a/kernel/mutex.c +++ b/kernel/mutex.c @@ -129,7 +129,6 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass, { struct task_struct *task = current; struct mutex_waiter waiter; - unsigned int old_val; unsigned long flags; spin_lock_mutex(&lock->wait_lock, flags); @@ -142,8 +141,7 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass, list_add_tail(&waiter.list, &lock->wait_list); waiter.task = task; - old_val = atomic_xchg(&lock->count, -1); - if (old_val == 1) + if (atomic_xchg(&lock->count, -1) == 1) goto done; lock_contended(&lock->dep_map, ip); @@ -158,8 +156,7 @@ __mutex_lock_common(struct mutex *lock, long state, unsigned int subclass, * that when we release the lock, we properly wake up the * other waiters: */ - old_val = atomic_xchg(&lock->count, -1); - if (old_val == 1) + if (atomic_xchg(&lock->count, -1) == 1) break; /* |