Prev: [tip:x86/atomic] lib: Only test atomic64_dec_if_positive on archs having it
Next: davinci platform updates for 2.6.34
From: tip-bot for Luca Barbieri on 1 Mar 2010 15:00 Commit-ID: 97577896f6b9c056fa0a5e9f6a608110cb3dcd33 Gitweb: http://git.kernel.org/tip/97577896f6b9c056fa0a5e9f6a608110cb3dcd33 Author: Luca Barbieri <luca(a)luca-barbieri.com> AuthorDate: Mon, 1 Mar 2010 19:55:47 +0100 Committer: H. Peter Anvin <hpa(a)zytor.com> CommitDate: Mon, 1 Mar 2010 11:38:46 -0800 lib: Fix atomic64_add_unless return value convention atomic64_add_unless must return 1 if it perfomed the add and 0 otherwise. The generic implementation did the opposite thing. Reported-by: H. Peter Anvin <hpa(a)zytor.com> Confirmed-by: Paul Mackerras <paulus(a)samba.org> Signed-off-by: Luca Barbieri <luca(a)luca-barbieri.com> LKML-Reference: <1267469749-11878-4-git-send-email-luca(a)luca-barbieri.com> Signed-off-by: H. Peter Anvin <hpa(a)zytor.com> --- lib/atomic64.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/atomic64.c b/lib/atomic64.c index 8bee16e..a21c12b 100644 --- a/lib/atomic64.c +++ b/lib/atomic64.c @@ -162,12 +162,12 @@ int atomic64_add_unless(atomic64_t *v, long long a, long long u) { unsigned long flags; spinlock_t *lock = lock_addr(v); - int ret = 1; + int ret = 0; spin_lock_irqsave(lock, flags); if (v->counter != u) { v->counter += a; - ret = 0; + ret = 1; } spin_unlock_irqrestore(lock, flags); return ret; -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |