iio: Fix return value check for set_trigger_state()

Message ID pndv8eojdey.fsf@axis.com
State New
Headers
Series iio: Fix return value check for set_trigger_state() |

Commit Message

Waqar Hameed July 13, 2023, 10:47 a.m. UTC
  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.

Signed-off-by: Waqar Hameed <waqar.hameed@axis.com>
---
 drivers/iio/industrialio-trigger.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Jonathan Cameron July 15, 2023, 5:29 p.m. UTC | #1
On Thu, 13 Jul 2023 12:47:31 +0200
Waqar Hameed <waqar.hameed@axis.com> 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@axis.com>
> ---
>  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;
>  	}
>
  

Patch

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