diff options
| author | Fabrice Gasnier <fabrice.gasnier@foss.st.com> | 2026-09-16 19:18:38 +0200 |
|---|---|---|
| committer | Jonathan Cameron <jonathan.cameron@oss.qualcomm.com> | 2026-09-30 18:59:55 +0100 |
| commit | 9db3deeb2de485a9d412f0825f9ab4c8e2bccf44 (patch) | |
| tree | 5df8a6ae809c22971ed8444d40491f6661d6d191 /scripts/subarch.include | |
| parent | e8dd273d199f5bbe295a8e3d8b777c5505b6b2e1 (diff) | |
| download | linux-stable-9db3deeb2de485a9d412f0825f9ab4c8e2bccf44.tar.gz linux-stable-9db3deeb2de485a9d412f0825f9ab4c8e2bccf44.zip | |
iio: adc: stm32-adc: fix check on internal channel availability
If an unsupported internal channel like vddgpu is requested, the driver
prints a warning but falls through and assigns it a valid int_ch below.
This causes a problem later during setup:
stm32_adc_int_ch_enable() {
...
case STM32_ADC_INT_CH_VDDGPU:
stm32_adc_set_bits(adc, adc->cfg->regs->or_vddgpu.reg,
adc->cfg->regs->or_vddgpu.mask);
...
}
Because the register offset is uninitialized (0), this performs a
read-modify-write on offset 0, which corresponds to the ISR register.
Fix this by returning before a valid int_ch is assigned. Choice is
made to keep current driver behavior to warn about the channel name.
Fixes: cf0fb80ae167 ("iio: adc: stm32-adc: add stm32mp13 support")
Reported-by: Sashiko <sashiko-bot@kernel.org>
Closes: https://lore.kernel.org/all/20260911162602.D323F1F000FF@smtp.kernel.org/
Cc: stable@vger.kernel.org
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Signed-off-by: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
Diffstat (limited to 'scripts/subarch.include')
0 files changed, 0 insertions, 0 deletions
