Re: [PATCH] iio: adc: ad4000: fix reading unsigned data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 30 Oct 2024 16:09:41 -0500
David Lechner <dlechner@xxxxxxxxxxxx> wrote:

> Fix reading unsigned data from the AD4000 ADC via the _raw sysfs
> attribute by ensuring that *val is set before returning from
> ad4000_single_conversion(). This was not being set in any code path
> and was causing the attribute to return a random value.
> 
> Fixes: 938fd562b974 ("iio: adc: Add support for AD4000")
> Signed-off-by: David Lechner <dlechner@xxxxxxxxxxxx>
Applied.
> ---
> FYI, there is also another unrelated bug I noticed but didn't fix.
> 
> We are calling iio_push_to_buffers_with_timestamp() but there isn't
> actually a IIO_CHAN_SOFT_TIMESTAMP() channel. I assume the intention
> was to have the timestamp channel?

Technically harmless as it can never be turned on, but indeed seems
doubtful - maybe something to treat as a feature rather than a fix though
given it was never there.

> ---
>  drivers/iio/adc/ad4000.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/iio/adc/ad4000.c b/drivers/iio/adc/ad4000.c
> index 6ea491245084..fc9c9807f89d 100644
> --- a/drivers/iio/adc/ad4000.c
> +++ b/drivers/iio/adc/ad4000.c
> @@ -344,6 +344,8 @@ static int ad4000_single_conversion(struct iio_dev *indio_dev,
>  
>  	if (chan->scan_type.sign == 's')
>  		*val = sign_extend32(sample, chan->scan_type.realbits - 1);
> +	else
> +		*val = sample;
>  
>  	return IIO_VAL_INT;
>  }
> 
> ---
> base-commit: fa4076314480bcb2bb32051027735b1cde07eea2
> change-id: 20241030-iio-adc-ad4000-fix-reading-unsigned-data-88a1de88cf57
> 
> Best regards,





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux