As pointed by Lars, this doesn't require a zero-check. Also, while looking
at this a little closer at it (again), the masking can be done later, as
there is a zero-check for 'mode_flags' anyway, which returns -EINVAL. And
we only need the 'mode_flags' later in the logic.

This change is more of a tweak.

Fixes: ae9886d6aa29 ("iio: kfifo: add devm_iio_kfifo_buffer_setup() helper")
Cc: Lars-Peter Clausen <l...@metafoo.de>
Signed-off-by: Alexandru Ardelean <ardeleana...@gmail.com>
---

Apologies for the late-ness of this.
I don't know if this makes sense to squash in the original, or to have
as a fix commit.
It is a bit messy now that the original is committed into the tree,
and now we're fixing/tweaking it.

 drivers/iio/buffer/kfifo_buf.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/iio/buffer/kfifo_buf.c b/drivers/iio/buffer/kfifo_buf.c
index e8a434f84778..8e3a1a9e495c 100644
--- a/drivers/iio/buffer/kfifo_buf.c
+++ b/drivers/iio/buffer/kfifo_buf.c
@@ -275,9 +275,6 @@ int devm_iio_kfifo_buffer_setup(struct device *dev,
 {
        struct iio_buffer *buffer;
 
-       if (mode_flags)
-               mode_flags &= kfifo_access_funcs.modes;
-
        if (!mode_flags)
                return -EINVAL;
 
@@ -285,6 +282,8 @@ int devm_iio_kfifo_buffer_setup(struct device *dev,
        if (!buffer)
                return -ENOMEM;
 
+       mode_flags &= kfifo_access_funcs.modes;
+
        indio_dev->modes |= mode_flags;
        indio_dev->setup_ops = setup_ops;
 
-- 
2.25.1

Reply via email to