iio: addac: ad74413: fix resistance input processing

Message ID 20230503095817.452551-1-linux@rasmusvillemoes.dk
State New
Headers
Series iio: addac: ad74413: fix resistance input processing |

Commit Message

Rasmus Villemoes May 3, 2023, 9:58 a.m. UTC
  On success, ad74413r_get_single_adc_result() returns IIO_VAL_INT aka
1. So currently, the IIO_CHAN_INFO_PROCESSED case is effectively
equivalent to the IIO_CHAN_INFO_RAW case, and we never call
ad74413r_adc_to_resistance_result() to convert the adc measurement to
ohms.

Check ret for being negative rather than non-zero.

Fixes: fea251b6a5dbd (iio: addac: add AD74413R driver)
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
---
 drivers/iio/addac/ad74413r.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Nuno Sá May 4, 2023, 7:09 a.m. UTC | #1
On Wed, 2023-05-03 at 11:58 +0200, Rasmus Villemoes wrote:
> On success, ad74413r_get_single_adc_result() returns IIO_VAL_INT aka
> 1. So currently, the IIO_CHAN_INFO_PROCESSED case is effectively
> equivalent to the IIO_CHAN_INFO_RAW case, and we never call
> ad74413r_adc_to_resistance_result() to convert the adc measurement to
> ohms.
> 
> Check ret for being negative rather than non-zero.
> 
> Fixes: fea251b6a5dbd (iio: addac: add AD74413R driver)
> Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> ---

Reviewed-by: Nuno Sa <nuno.sa@analog.com>

>  drivers/iio/addac/ad74413r.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/addac/ad74413r.c b/drivers/iio/addac/ad74413r.c
> index 07e9f6ae16a8..e3366cf5eb31 100644
> --- a/drivers/iio/addac/ad74413r.c
> +++ b/drivers/iio/addac/ad74413r.c
> @@ -1007,7 +1007,7 @@ static int ad74413r_read_raw(struct iio_dev *indio_dev,
>  
>                 ret = ad74413r_get_single_adc_result(indio_dev, chan->channel,
>                                                      val);
> -               if (ret)
> +               if (ret < 0)
>                         return ret;
>  
>                 ad74413r_adc_to_resistance_result(*val, val);
  

Patch

diff --git a/drivers/iio/addac/ad74413r.c b/drivers/iio/addac/ad74413r.c
index 07e9f6ae16a8..e3366cf5eb31 100644
--- a/drivers/iio/addac/ad74413r.c
+++ b/drivers/iio/addac/ad74413r.c
@@ -1007,7 +1007,7 @@  static int ad74413r_read_raw(struct iio_dev *indio_dev,
 
 		ret = ad74413r_get_single_adc_result(indio_dev, chan->channel,
 						     val);
-		if (ret)
+		if (ret < 0)
 			return ret;
 
 		ad74413r_adc_to_resistance_result(*val, val);