lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20260131182558.464e534e@jic23-huawei>
Date: Sat, 31 Jan 2026 18:25:58 +0000
From: Jonathan Cameron <jic23@...nel.org>
To: SeungJu Cheon <suunj1331@...il.com>
Cc: antoniu.miclaus@...log.com, lars@...afoo.de,
 Michael.Hennerich@...log.com, andriy.shevchenko@...el.com,
 dlechner@...libre.com, nuno.sa@...log.com, andy@...nel.org,
 linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] iio:frequency:adf4377: Fix duplicated soft reset
 mask

On Sat, 24 Jan 2026 04:47:58 +0900
SeungJu Cheon <suunj1331@...il.com> wrote:

> The regmap_read_poll_timeout() uses ADF4377_0000_SOFT_RESET_R_MSK
> twice instead of checking both SOFT_RESET_MSK (bit 0) and
> SOFT_RESET_R_MSK (bit 7). This causes an incomplete reset status check.
> 
> The code first sets both SOFT_RESET and SOFT_RESET_R bits to 1 via
> regmap_update_bits(), then polls for them to be cleared. Since we set
> both bits before polling, we should be waiting for both to clear.
> 
> Fix by using both masks as done in regmap_update_bits() above.
> 
> Fixes: eda549e2e524 ("iio:frequency:adf4377: add support for ADF4377")
> Signed-off-by: SeungJu Cheon <suunj1331@...il.com>
For now I've applied this to a local branch which I'll push out once
I have a suitable base (release, or rc1 depending on when I do it).

Given Antoniu and Andy's involvement in earlier discussion, still plenty of time
to add tags or indeed suggest I drop it again for a v4!

Thanks,

Jonathan

> ---
> v3:
>  - Summarize discussion about why both bits need to be checked
> 
> v2:
>  - Add Fixes tag
> 
>  drivers/iio/frequency/adf4377.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/frequency/adf4377.c b/drivers/iio/frequency/adf4377.c
> index 08833b7035e4..48aa4b015a14 100644
> --- a/drivers/iio/frequency/adf4377.c
> +++ b/drivers/iio/frequency/adf4377.c
> @@ -501,7 +501,7 @@ static int adf4377_soft_reset(struct adf4377_state *st)
>  		return ret;
>  
>  	return regmap_read_poll_timeout(st->regmap, 0x0, read_val,
> -					!(read_val & (ADF4377_0000_SOFT_RESET_R_MSK |
> +					!(read_val & (ADF4377_0000_SOFT_RESET_MSK |
>  					ADF4377_0000_SOFT_RESET_R_MSK)), 200, 200 * 100);
>  }
>  


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ