iio: adc: adi-axi-adc: don't allow concurrent enable/disable calls
[ Upstream commit202b89f4b7
] Add proper mutex guards as we should not be able to disable the core in the middle of enabling it. Note there's no need to rush in backporting this as the only user of the backend does not do anything crazy.. Fixes:794ef0e578
("iio: adc: adi-axi-adc: move to backend framework") Signed-off-by: Nuno Sa <nuno.sa@analog.com> Link: https://lore.kernel.org/r/20240531-dev-axi-adc-drp-v3-1-e3fa79447c67@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
532248d0f0
commit
9d9029157d
1 changed files with 2 additions and 0 deletions
|
@ -85,6 +85,7 @@ static int axi_adc_enable(struct iio_backend *back)
|
|||
struct adi_axi_adc_state *st = iio_backend_get_priv(back);
|
||||
int ret;
|
||||
|
||||
guard(mutex)(&st->lock);
|
||||
ret = regmap_set_bits(st->regmap, ADI_AXI_REG_RSTN,
|
||||
ADI_AXI_REG_RSTN_MMCM_RSTN);
|
||||
if (ret)
|
||||
|
@ -99,6 +100,7 @@ static void axi_adc_disable(struct iio_backend *back)
|
|||
{
|
||||
struct adi_axi_adc_state *st = iio_backend_get_priv(back);
|
||||
|
||||
guard(mutex)(&st->lock);
|
||||
regmap_write(st->regmap, ADI_AXI_REG_RSTN, 0);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue