mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-09-22 09:34:56 +02:00
iio: frequency: adf4377: Fix duplicated soft reset mask
commit6c8bf4b604upstream. 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:eda549e2e5("iio: frequency: adf4377: add support for ADF4377") Signed-off-by: SeungJu Cheon <suunj1331@gmail.com> Cc: Stable@vger.kernel.org Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
8f9fca12f2
commit
fa87bb35b9
@@ -495,7 +495,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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user