2022-11-22 12:40:29

by Tilki, Ibrahim

[permalink] [raw]
Subject: [PATCH] iio: adc: max11410: fix incomplete vref buffer mask

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 <[email protected]>
Reported-by: Julia Lawall <[email protected]>
Signed-off-by: Ibrahim Tilki <[email protected]>
---
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)
--
2.25.1


2022-11-23 20:40:16

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] iio: adc: max11410: fix incomplete vref buffer mask

On Tue, 22 Nov 2022 14:47:18 +0300
Ibrahim Tilki <[email protected]> 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 <[email protected]>
> Reported-by: Julia Lawall <[email protected]>
> Signed-off-by: Ibrahim Tilki <[email protected]>
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)