linux-stable/drivers/iio
Masahiro Honda 626d312028 iio: adc: ad_sigma_delta: Fix IRQ issue by setting IRQ_DISABLE_UNLAZY flag
The Sigma-Delta ADCs supported by this driver can use SDO as an interrupt
line to indicate the completion of a conversion. However, some devices
cannot properly detect the completion of a conversion by an interrupt.
This is for the reason mentioned in the following commit.

commit e9849777d0 ("genirq: Add flag to force mask in
                      disable_irq[_nosync]()")

A read operation is performed by an extra interrupt before the completion
of a conversion. At this time, the value read from the ADC data register
is the same as the previous conversion result. This patch fixes the issue
by setting IRQ_DISABLE_UNLAZY flag.

Fixes: 0c6ef985a1 ("iio: adc: ad7791: fix IRQ flags")
Fixes: 1a913270e5 ("iio: adc: ad7793: Fix IRQ flag")
Fixes: e081102f30 ("iio: adc: ad7780: Fix IRQ flag")
Fixes: 89a86da5cb ("iio: adc: ad7192: Add IRQ flag")
Fixes: 79ef91493f ("iio: adc: ad7124: Set IRQ type to falling")
Signed-off-by: Masahiro Honda <honda@mechatrax.com>
Link: https://lore.kernel.org/r/20230518110816.248-1-honda@mechatrax.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2023-05-20 16:34:52 +01:00
..
accel iio: accel: kx022a fix irq getting 2023-05-13 19:45:08 +01:00
adc iio: adc: ad_sigma_delta: Fix IRQ issue by setting IRQ_DISABLE_UNLAZY flag 2023-05-20 16:34:52 +01:00
addac iio: addac: ad74413: fix resistance input processing 2023-05-13 17:54:58 +01:00
afe iio: afe: rescale: export symbols used during testing 2022-07-16 19:01:14 +01:00
amplifiers iio: amplifier: hmc425a: simplify using devm_regulator_get_enable() 2022-11-23 19:44:01 +00:00
buffer iio: Don't silently expect attribute types 2022-11-23 19:44:04 +00:00
cdc drivers: iio: cdc: Drop redundant if check 2023-01-08 12:59:44 +00:00
chemical iio: chemical: sps030: Reformat comment in a more readable way 2023-03-11 12:18:27 +00:00
common iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
dac iio: dac: mcp4725: Fix i2c_master_send() return value handling 2023-05-13 19:46:59 +01:00
dummy
filter iio: filter: admv8818: close potential out-of-bounds read in __admv8818_read_[h|l]pf_freq() 2022-11-23 19:43:57 +00:00
frequency iio: frequency: admv1013: Benefit from devm_clk_get_enabled() to simplify 2023-03-18 16:35:26 +00:00
gyro iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
health 4th set of IIO fixes for 6.1 2022-11-27 15:05:05 +01:00
humidity iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
imu Char/Misc drivers for 6.4-rc1 2023-04-27 12:07:50 -07:00
light iio: bu27034: Ensure reset is written 2023-05-13 19:22:01 +01:00
magnetometer iio: tmag5273: Fix runtime PM leak on measurement error 2023-05-13 17:54:56 +01:00
multiplexer iio: multiplexer: Switch to use dev_err_probe() helper 2022-11-23 19:43:57 +00:00
orientation
position
potentiometer iio: potentiometer: tpl0102: Convert to i2c's .probe_new() 2022-11-23 20:20:30 +00:00
potentiostat iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
pressure iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
proximity iio: proximity: sx9500: Reference ACPI and OF ID data 2023-03-12 16:18:41 +00:00
resolver iio: resolver: ad2s90: Fix alignment for DMA safety 2022-06-14 11:53:19 +01:00
temperature iio: temperature: tmp117: cosmetic alignment cleanup 2023-03-11 12:18:29 +00:00
test iio: test: Mark file local structure arrays static. 2022-08-15 22:30:01 +01:00
trigger iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
iio_core.h
iio_core_trigger.h
industrialio-buffer.c iio: buffer: make sure O_NONBLOCK is respected 2023-02-18 14:07:58 +00:00
industrialio-configfs.c
industrialio-core.c iio: core: Sort headers 2023-01-21 17:35:23 +00:00
industrialio-event.c 4th set of IIO fixes for 6.1 2022-11-27 15:05:05 +01:00
industrialio-gts-helper.c iio: gts-helpers: fix integration time units 2023-05-13 17:54:57 +01:00
industrialio-sw-device.c iio: Don't use bare "unsigned" 2022-07-01 11:19:08 +01:00
industrialio-sw-trigger.c iio: core: Fix entry not deleted when iio_register_sw_trigger_type() fails 2022-11-12 17:53:35 +00:00
industrialio-trigger.c iio: Rename iio_trigger_poll_chained and add kernel-doc 2023-03-11 12:18:29 +00:00
industrialio-triggered-event.c
inkern.c iio: inkern: fix coding style warnings 2022-08-15 22:30:00 +01:00
Kconfig iio: light: Add gain-time-scale helpers 2023-04-10 12:26:34 +01:00
Makefile iio: light: Add gain-time-scale helpers 2023-04-10 12:26:34 +01:00
TODO iio: core: move 'mlock' to 'struct iio_dev_opaque' 2022-11-23 19:44:00 +00:00