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

Commit 97577896 authored by Luca Barbieri's avatar Luca Barbieri Committed by H. Peter Anvin
Browse files

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: default avatarH. Peter Anvin <hpa@zytor.com>
Confirmed-by: default avatarPaul Mackerras <paulus@samba.org>
Signed-off-by: default avatarLuca Barbieri <luca@luca-barbieri.com>
LKML-Reference: <1267469749-11878-4-git-send-email-luca@luca-barbieri.com>
Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
parent 6e6104fe
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;