Re: [PATCH] iio: kfifo: mask flags without zero-check in devm_iio_kfifo_buffer_setup()

From: Jonathan Cameron
Date: Sun Mar 07 2021 - 07:30:54 EST


On Sat, 6 Mar 2021 18:28:34 +0200
Alexandru Ardelean <ardeleanalex@xxxxxxxxx> wrote:

> 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 <lars@xxxxxxxxxx>
> Signed-off-by: Alexandru Ardelean <ardeleanalex@xxxxxxxxx>

I've applied this as a separate patch. Thanks,

Jonathan

> ---
>
> 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;
>