[PATCH libdrm] atomic: fix atomic_add_unless() fallback's return value
Eric Engestrom
eric at engestrom.ch
Thu Mar 16 00:08:59 UTC 2017
According to the kernel documentation:
Returns non-zero if @v was not @u, and zero otherwise.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100077
Fixes: 63fc571863aa64683400 ("atomic: add atomic_add_unless()")
Signed-off-by: David Shao <davshao at gmail.com>
Reviewed-by: Eric Engestrom <eric at engestrom.ch>
Signed-off-by: Eric Engestrom <eric at engestrom.ch>
---
xf86atomic.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xf86atomic.h b/xf86atomic.h
index 922b37da..ecb1ba86 100644
--- a/xf86atomic.h
+++ b/xf86atomic.h
@@ -111,7 +111,7 @@ static inline int atomic_add_unless(atomic_t *v, int add, int unless)
c = atomic_read(v);
while (c != unless && (old = atomic_cmpxchg(v, c, c + add)) != c)
c = old;
- return c == unless;
+ return c != unless;
}
#endif
--
Cheers,
Eric
More information about the dri-devel
mailing list