iio: adc: max11410: fix incomplete vref buffer mask

Message ID 20221122114718.17557-1-Ibrahim.Tilki@analog.com
State New
Headers
Series iio: adc: max11410: fix incomplete vref buffer mask |

Commit Message

Tilki, Ibrahim Nov. 22, 2022, 11:47 a.m. UTC
  VREFP bit was missing from channel configuration mask and VREFN bit was
included twice instead which fails to enable positive reference buffer when
requested by a channel. Channels that don't enable vrefp buffer were not
affected.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Ibrahim Tilki <Ibrahim.Tilki@analog.com>
---
 drivers/iio/adc/max11410.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Jonathan Cameron Nov. 23, 2022, 8:33 p.m. UTC | #1
On Tue, 22 Nov 2022 14:47:18 +0300
Ibrahim Tilki <Ibrahim.Tilki@analog.com> wrote:

> VREFP bit was missing from channel configuration mask and VREFN bit was
> included twice instead which fails to enable positive reference buffer when
> requested by a channel. Channels that don't enable vrefp buffer were not
> affected.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Julia Lawall <julia.lawall@lip6.fr>
> Signed-off-by: Ibrahim Tilki <Ibrahim.Tilki@analog.com>
Applied and I added a fixes tag (given I've just rebased for a broken fixes tag
I'm glad you didn't as it would have been wrong anyway!)

Thanks,

Jonathan

> ---
>  drivers/iio/adc/max11410.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/adc/max11410.c b/drivers/iio/adc/max11410.c
> index 8cd5663671..fdc9f03135 100644
> --- a/drivers/iio/adc/max11410.c
> +++ b/drivers/iio/adc/max11410.c
> @@ -370,7 +370,7 @@ static int max11410_configure_channel(struct max11410_state *st,
>  		 FIELD_PREP(MAX11410_CTRL_UNIPOLAR_BIT, cfg.bipolar ? 0 : 1);
>  	ret = regmap_update_bits(st->regmap, MAX11410_REG_CTRL,
>  				 MAX11410_CTRL_REFSEL_MASK |
> -				 MAX11410_CTRL_VREFN_BUF_BIT |
> +				 MAX11410_CTRL_VREFP_BUF_BIT |
>  				 MAX11410_CTRL_VREFN_BUF_BIT |
>  				 MAX11410_CTRL_UNIPOLAR_BIT, regval);
>  	if (ret)
  

Patch

diff --git a/drivers/iio/adc/max11410.c b/drivers/iio/adc/max11410.c
index 8cd5663671..fdc9f03135 100644
--- a/drivers/iio/adc/max11410.c
+++ b/drivers/iio/adc/max11410.c
@@ -370,7 +370,7 @@  static int max11410_configure_channel(struct max11410_state *st,
 		 FIELD_PREP(MAX11410_CTRL_UNIPOLAR_BIT, cfg.bipolar ? 0 : 1);
 	ret = regmap_update_bits(st->regmap, MAX11410_REG_CTRL,
 				 MAX11410_CTRL_REFSEL_MASK |
-				 MAX11410_CTRL_VREFN_BUF_BIT |
+				 MAX11410_CTRL_VREFP_BUF_BIT |
 				 MAX11410_CTRL_VREFN_BUF_BIT |
 				 MAX11410_CTRL_UNIPOLAR_BIT, regval);
 	if (ret)