linux-yocto/drivers/iio/adc
Chen Ni 8d8519aedb iio: adc: stm32-adc: Fix race in installing chained IRQ handler
commit e8ad595064 upstream.

Fix a race where a pending interrupt could be received and the handler
called before the handler's data has been setup, by converting to
irq_set_chained_handler_and_data().

Fixes: 1add698802 ("iio: adc: Add support for STM32 ADC core")
Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Tested-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Reviewed-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Link: https://patch.msgid.link/20250515083101.3811350-1-nichen@iscas.ac.cn
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-24 08:53:15 +02:00
..
ab8500-gpadc.c iio: adc: Remove redundant dev_err_probe() 2023-07-29 12:13:17 +01:00
ad_sigma_delta.c iio: adc: ad_sigma_delta: Fix use of uninitialized status_pos 2025-07-06 11:00:07 +02:00
ad799x.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
ad4130.c iio: adc: ad4130: Fix comparison of channel setups 2025-04-10 14:37:33 +02:00
ad7091r-base.c iio: adc: ad7091r: Enable internal vref if external vref is not supplied 2024-01-31 16:18:47 -08:00
ad7091r-base.h iio: adc: ad7091r: Enable internal vref if external vref is not supplied 2024-01-31 16:18:47 -08:00
ad7091r5.c iio: adc: ad7091r: Allow users to configure device events 2024-01-31 16:18:47 -08:00
ad7124.c iio: adc: ad7124: Fix 3dB filter frequency reading 2025-06-19 15:28:31 +02:00
ad7192.c iio: adc: ad7192: properly check spi_get_device_match_data() 2025-01-09 13:31:46 +01:00
ad7266.c iio: adc: ad7266: Fix potential timestamp alignment issue. 2025-05-22 14:12:13 +02:00
ad7280a.c
ad7291.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
ad7292.c iio: adc: ad7292: Add explicit include for of.h 2023-04-06 20:36:26 +02:00
ad7298.c
ad7476.c
ad7606_par.c iio: adc: ad7606: remove frstdata check for serial mode 2024-09-12 11:11:41 +02:00
ad7606_spi.c iio: adc: ad7606_spi: fix reg write value mask 2025-06-27 11:08:51 +01:00
ad7606.c iio: adc: ad7606: fix standby gpio state to match the documentation 2024-10-04 16:29:38 +02:00
ad7606.h iio: adc: ad7606: remove frstdata check for serial mode 2024-09-12 11:11:41 +02:00
ad7766.c
ad7768-1.c iio: adc: ad7768-1: Fix insufficient alignment of timestamp. 2025-05-22 14:12:14 +02:00
ad7780.c ad7780: fix division by zero in ad7780_write_raw() 2024-12-09 10:33:05 +01:00
ad7791.c
ad7793.c
ad7887.c
ad7923.c iio: adc: ad7923: Fix buffer overflow for tx_buf and ring_xfer 2024-12-09 10:33:09 +01:00
ad7949.c
ad9467.c iio: adc: ad9467: fix scan type sign 2024-06-21 14:38:37 +02:00
adi-axi-adc.c iio: adc: axi-adc: make sure AXI clock is enabled 2024-06-21 14:38:42 +02:00
aspeed_adc.c
at91_adc.c iio: adc: at91: call input_free_device() on allocated iio_dev 2025-01-17 13:36:24 +01:00
at91-sama5d2_adc.c iio: adc: at91-sama5d2_adc: fix sama7g5 realbits value 2025-03-13 12:58:38 +01:00
axp20x_adc.c iio: adc: axp20x_adc: Replace adc_en2 flag with adc_en2_mask field 2023-03-11 12:18:28 +00:00
axp288_adc.c
bcm_iproc_adc.c iio: adc: fix the return value handle for platform_get_irq() 2023-07-29 16:23:45 +01:00
berlin2-adc.c
cc10001_adc.c iio: adc: Explicitly include correct DT includes 2023-07-23 13:38:13 +01:00
cpcap-adc.c
da9150-gpadc.c
dln2-adc.c iio: adc: dln2: Use aligned_s64 for timestamp 2025-05-18 08:24:09 +02:00
envelope-detector.c
ep93xx_adc.c
exynos_adc.c iio: exynos-adc: request second interupt only when touchscreen mode is used 2023-10-14 17:47:20 +01:00
fsl-imx25-gcq.c
hi8435.c
hx711.c
imx7d_adc.c iio: adc: Remove redundant dev_err_probe() 2023-07-29 12:13:17 +01:00
imx8qxp-adc.c iio: adc: imx8qxp: Fix address for command buffer registers 2023-10-05 18:06:45 +01:00
imx93_adc.c iio: adc: imx93: add four channels for imx93 adc 2024-01-01 12:42:37 +00:00
ina2xx-adc.c Merge 6.5-rc6 into char-misc-next 2023-08-13 22:14:51 +02:00
ingenic-adc.c
intel_mrfld_adc.c
Kconfig iio: adc: ti-lmp92064: add missing select IIO_(TRIGGERED_)BUFFER in Kconfig 2024-11-01 01:58:26 +01:00
lp8788_adc.c
lpc18xx_adc.c
lpc32xx_adc.c iio: adc: fix the return value handle for platform_get_irq() 2023-07-29 16:23:45 +01:00
ltc2471.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
ltc2485.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
ltc2496.c
ltc2497-core.c
ltc2497.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
ltc2497.h
Makefile iio: adc: Add Allwinner D1/T113s/R329/T507 SoCs GPADC 2023-07-20 19:21:29 +01:00
max1027.c
max1118.c
max1241.c
max1363.c iio: adc: max1363: Reorder mode_list[] entries 2025-07-24 08:53:15 +02:00
max9611.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
max11100.c
max11205.c
max11410.c 1st set of IIO new device support, features and cleanups for the 6.4 cycle. 2023-04-12 09:45:34 +02:00
max77541-adc.c iio: adc: max77541: Add ADI MAX77541 ADC Support 2023-06-28 15:18:11 +01:00
mcp320x.c
mcp3422.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
mcp3911.c
men_z188_adc.c iio: adc: men_z188_adc: Remove redundant initialization owner in men_z188_driver 2023-08-05 17:43:17 +01:00
meson_saradc.c iio: adc: meson: add separate config for axg SoC family 2024-01-01 12:42:36 +00:00
mp2629_adc.c
mt6360-adc.c
mt6370-adc.c iio: adc: mt6370: Fix ibus and ibat scaling value of some specific vendor ID chips 2023-05-13 17:54:56 +01:00
mt6577_auxadc.c
mxs-lradc-adc.c iio: adc: mxs-lradc: fix the order of two cleanup operations 2023-05-13 17:54:57 +01:00
nau7802.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
npcm_adc.c iio: adc: fix the return value handle for platform_get_irq() 2023-07-29 16:23:45 +01:00
palmas_gpadc.c iio: adc: Remove redundant dev_err_probe() 2023-07-29 12:13:17 +01:00
qcom-pm8xxx-xoadc.c iio: adc: qcom-pm8xxx-xoadc: Remove useless condition in pm8xxx_xoadc_parse_channel() 2023-03-18 15:44:30 +00:00
qcom-spmi-adc5.c iio: adc: qcom-spmi-adc5: Add ADC5_GPIO2_100K_PU 2023-07-20 19:21:30 +01:00
qcom-spmi-iadc.c iio: adc: Explicitly include correct DT includes 2023-07-23 13:38:13 +01:00
qcom-spmi-rradc.c
qcom-spmi-vadc.c iio: adc: qcom-spmi-vadc: Propagate fw node label to userspace 2023-05-13 18:28:10 +01:00
qcom-vadc-common.c
rcar-gyroadc.c iio: adc: rcar-gyroadc: mark OF related data as maybe unused 2023-03-11 12:22:36 +00:00
rn5t618-adc.c
rockchip_saradc.c iio: adc: rockchip: Fix clock initialization sequence 2025-05-18 08:24:07 +02:00
rtq6056.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
rzg2l_adc.c
sc27xx_adc.c iio: adc: Explicitly include correct DT includes 2023-07-23 13:38:13 +01:00
sd_adc_modulator.c
spear_adc.c iio: adc: fix the return value handle for platform_get_irq() 2023-07-29 16:23:45 +01:00
stm32-adc-core.c iio: adc: stm32-adc: Fix race in installing chained IRQ handler 2025-07-24 08:53:15 +02:00
stm32-adc-core.h
stm32-adc.c iio: adc: stm32: Fixing err code to not indicate success 2024-06-12 11:12:20 +02:00
stm32-dfsdm-adc.c iio: adc: Explicitly include correct DT includes 2023-07-23 13:38:13 +01:00
stm32-dfsdm-core.c iio: adc: Explicitly include correct DT includes 2023-07-23 13:38:13 +01:00
stm32-dfsdm.h
stmpe-adc.c iio: adc: Explicitly include correct DT includes 2023-07-23 13:38:13 +01:00
sun4i-gpadc-iio.c iio: adc: Explicitly include correct DT includes 2023-07-23 13:38:13 +01:00
sun20i-gpadc-iio.c iio: adc: Add Allwinner D1/T113s/R329/T507 SoCs GPADC 2023-07-20 19:21:29 +01:00
ti_am335x_adc.c of: remove internal arguments from of_property_for_each_u32() 2025-02-08 09:51:51 +01:00
ti-adc081c.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
ti-adc084s021.c
ti-adc108s102.c
ti-adc128s052.c
ti-adc161s626.c
ti-adc0832.c
ti-adc12138.c
ti-ads124s08.c iio: adc: ti-ads124s08: Use gpiod_set_value_cansleep() 2025-01-17 13:36:24 +01:00
ti-ads131e08.c
ti-ads1015.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
ti-ads1100.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
ti-ads7924.c iio: Switch i2c drivers back to use .probe() 2023-05-21 18:54:53 +01:00
ti-ads7950.c iio: adc: ti-ads7950: Set can_sleep flag for GPIO chip 2023-03-18 16:39:35 +00:00
ti-ads8344.c
ti-ads8688.c iio: adc: ti-ads8688: fix information leak in triggered buffer 2025-01-17 13:36:23 +01:00
ti-lmp92064.c iio: adc: ti-lmp92064: add buffering support 2023-07-20 19:21:30 +01:00
ti-tlc4541.c
ti-tsc2046.c
twl4030-madc.c
twl6030-gpadc.c
vf610_adc.c
viperboard_adc.c
xilinx-ams.c iio: xilinx-ams: Don't include ams_ctrl_channels in scan_mask 2024-07-05 09:33:56 +02:00
xilinx-xadc-core.c iio: adc: xilinx-xadc: Correct temperature offset/scale for UltraScale 2023-10-13 19:10:39 +01:00
xilinx-xadc-events.c
xilinx-xadc.h iio: adc: xilinx-xadc: Correct temperature offset/scale for UltraScale 2023-10-13 19:10:39 +01:00