Re: [PATCH] iio: Fix return value check for set_trigger_state()

From: Jonathan Cameron
Date: Sat Jul 15 2023 - 13:29:31 EST


On Thu, 13 Jul 2023 12:47:31 +0200
Waqar Hameed <waqar.hameed@xxxxxxxx> wrote:

> In `iio_trigger_detach_poll_func()` the return value from
> `trig->ops->set_trigger_state(trig, false)` is checked with `if (ret)`.
> However, in `iio_trigger_attach_poll_func()` it is checked with
> `if (ret < 0)`. Fix this mismatch by only checking for `if (ret)` in
> both places.

I wouldn't have used fix in the title unless you have a case where this
causes problems (so a driver returns > 0 for this callback).

I have no problem with it as a consistency improvement but I don't
really want to see it backported (which will happen with fix in the
title ;)

I'll tweak that and with that done, applied to the togreg branch
of iio.git and pushed out initially as testing to let 0-day see if
it can find anything we missed.

Thanks,

Jonathan


>
> Signed-off-by: Waqar Hameed <waqar.hameed@xxxxxxxx>
> ---
> drivers/iio/industrialio-trigger.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iio/industrialio-trigger.c b/drivers/iio/industrialio-trigger.c
> index f207e36b12cc..18f83158f637 100644
> --- a/drivers/iio/industrialio-trigger.c
> +++ b/drivers/iio/industrialio-trigger.c
> @@ -313,7 +313,7 @@ int iio_trigger_attach_poll_func(struct iio_trigger *trig,
> /* Enable trigger in driver */
> if (trig->ops && trig->ops->set_trigger_state && notinuse) {
> ret = trig->ops->set_trigger_state(trig, true);
> - if (ret < 0)
> + if (ret)
> goto out_free_irq;
> }
>