linux/drivers/iio
Ramona Bolboaca 99c05e4283 iio: adis: add '__adis_enable_irq()' implementation
Add '__adis_enable_irq()' implementation which is the unlocked
version of 'adis_enable_irq()'.
Call '__adis_enable_irq()' instead of 'adis_enable_irq()' from
'__adis_intial_startup()' to keep the expected unlocked functionality.

This fix is needed to remove a deadlock for all devices which are
using 'adis_initial_startup()'. The deadlock occurs because the
same mutex is acquired twice, without releasing it.
The mutex is acquired once inside 'adis_initial_startup()', before
calling '__adis_initial_startup()', and once inside
'adis_enable_irq()', which is called by '__adis_initial_startup()'.
The deadlock is removed by calling '__adis_enable_irq()', instead of
'adis_enable_irq()' from within '__adis_initial_startup()'.

Fixes: b600bd7eb3 ("iio: adis: do not disabe IRQs in 'adis_init()'")
Signed-off-by: Ramona Bolboaca <ramona.bolboaca@analog.com>
Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20221122082757.449452-2-ramona.bolboaca@analog.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2022-11-23 20:37:50 +00:00
..
accel iio: accel: mma9553: Convert to i2c's .probe_new() 2022-11-23 20:01:39 +00:00
adc iio: adc: max11410: fix incomplete vref buffer mask 2022-11-23 20:32:16 +00:00
addac iio: stx104: Move to addac subdirectory 2022-08-20 13:09:38 +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 iio: cdc: ad7746: Convert to i2c's .probe_new() 2022-11-23 20:01:40 +00:00
chemical iio: chemical: vz89x: Convert to i2c's .probe_new() 2022-11-23 20:01:40 +00:00
common iio: Don't silently expect attribute types 2022-11-23 19:44:04 +00:00
dac iio: dac: ti-dac5571: Convert to i2c's .probe_new() 2022-11-23 20:01:41 +00:00
dummy Bitmap patches for 5.19-rc1 2022-06-04 14:04:27 -07:00
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: ad9523: Use devm_regulator_get_enable() 2022-11-23 19:44:01 +00:00
gyro iio: gyro: st_gyro_i2c: Convert to i2c's .probe_new() 2022-11-23 20:01:41 +00:00
health iio: health: max30102: Convert to i2c's .probe_new() 2022-11-23 20:01:42 +00:00
humidity iio: humidity: si7020: Convert to i2c's .probe_new() 2022-11-23 20:01:42 +00:00
imu iio: adis: add '__adis_enable_irq()' implementation 2022-11-23 20:37:50 +00:00
light iio: light: zopt2201: Convert to i2c's .probe_new() 2022-11-23 20:20:29 +00:00
magnetometer iio: magnetometer: yamaha-yas530: Convert to i2c's .probe_new() 2022-11-23 20:20:30 +00:00
multiplexer iio: multiplexer: Switch to use dev_err_probe() helper 2022-11-23 19:43:57 +00:00
orientation iio: hid-sensors: bind IIO channels alloc to device object 2021-07-13 18:21:53 +01:00
position iio: hid-sensors: Update header includes 2021-06-16 14:53:13 +01:00
potentiometer iio: potentiometer: tpl0102: Convert to i2c's .probe_new() 2022-11-23 20:20:30 +00:00
potentiostat iio: potentiostat: lmp91000: Convert to i2c's .probe_new() 2022-11-23 20:20:30 +00:00
pressure iio: pressure: zpa2326_i2c: Convert to i2c's .probe_new() 2022-11-23 20:20:31 +00:00
proximity iio: proximity: sx9500: Convert to i2c's .probe_new() 2022-11-23 20:20:31 +00:00
resolver iio: resolver: ad2s90: Fix alignment for DMA safety 2022-06-14 11:53:19 +01:00
temperature iio: temperature: Add driver support for Maxim MAX30208 2022-11-23 20:20:32 +00:00
test iio: test: Mark file local structure arrays static. 2022-08-15 22:30:01 +01:00
trigger iio: trigger: sysfs: rename error label in iio_sysfs_trigger_probe() 2022-11-23 19:44:03 +00:00
iio_core_trigger.h
iio_core.h iio: Mark iio_device_type as const 2021-11-17 17:51:35 +00:00
industrialio-buffer.c iio: Don't silently expect attribute types 2022-11-23 19:44:04 +00:00
industrialio-configfs.c
industrialio-core.c iio: core: move 'mlock' to 'struct iio_dev_opaque' 2022-11-23 19:44:00 +00:00
industrialio-event.c iio: core: move 'mlock' to 'struct iio_dev_opaque' 2022-11-23 19:44:00 +00:00
industrialio-sw-device.c iio: Don't use bare "unsigned" 2022-07-01 11:19:08 +01:00
industrialio-sw-trigger.c iio: Don't use bare "unsigned" 2022-07-01 11:19:08 +01:00
industrialio-trigger.c iio: core: move 'mlock' to 'struct iio_dev_opaque' 2022-11-23 19:44:00 +00:00
industrialio-triggered-event.c
inkern.c iio: inkern: fix coding style warnings 2022-08-15 22:30:00 +01:00
Kconfig iio: add filter subfolder 2021-12-16 17:29:46 +00:00
Makefile iio: add filter subfolder 2021-12-16 17:29:46 +00:00
TODO iio: core: move 'mlock' to 'struct iio_dev_opaque' 2022-11-23 19:44:00 +00:00