android_kernel_xiaomi_sm8450/drivers/iio
William Breathitt Gray aeecd8d97d iio: addac: stx104: Fix race condition for stx104_write_raw()
[ Upstream commit 9740827468cea80c42db29e7171a50e99acf7328 ]

The priv->chan_out_states array and actual DAC value can become
mismatched if stx104_write_raw() is called concurrently. Prevent such a
race condition by utilizing a mutex.

Fixes: 97a445dad3 ("iio: Add IIO support for the DAC on the Apex Embedded Systems STX104")
Signed-off-by: William Breathitt Gray <william.gray@linaro.org>
Link: https://lore.kernel.org/r/c95c9a77fcef36b2a052282146950f23bbc1ebdc.1680790580.git.william.gray@linaro.org
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Stable-dep-of: 4f9b80aefb9e ("iio: addac: stx104: Fix race condition when converting analog-to-digital")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-08-26 15:26:47 +02:00
..
accel iio: accel: mma9551_core: Prevent uninitialized variable in mma9551_read_config_word() 2023-03-11 16:40:17 +01:00
adc iio: addac: stx104: Fix race condition for stx104_write_raw() 2023-08-26 15:26:47 +02:00
addac iio: add addac subdirectory 2023-08-26 15:26:47 +02:00
afe iio: afe: rescale: use s64 for temporary scale calculations 2022-04-08 14:39:49 +02:00
amplifiers iio: amplifiers: hmc425a: Simplify with dev_err_probe() 2020-09-03 19:40:50 +01:00
buffer iio: buffer: Kconfig: add title for IIO_TRIGGERED_BUFFER symbol 2020-09-29 17:27:08 +01:00
chemical iio:chemical:ccs811: rearrange iio trigger get and register 2022-06-29 08:59:51 +02:00
common iio: cros_ec: Fix the allocation size for cros_ec_command 2023-08-16 18:21:00 +02:00
dac iio: dac: build ad5758 driver when AD5758 is selected 2023-06-09 10:30:14 +02:00
dummy iio: dummy: iio_simple_dummy: check the return value of kstrdup() 2022-06-14 18:32:41 +02:00
frequency iio: frequency: adf4350: disable reg and clk on error in adf4350_probe() 2021-07-14 16:55:44 +02:00
gyro iio:imu:adis: Move exports into IIO_ADISLIB namespace 2023-01-14 10:15:58 +01:00
health iio: health: afe4404: Fix oob read in afe4404_[read|write]_raw 2022-12-08 11:23:54 +01:00
humidity iio: humidity: hdc100x: Add margin to the conversion time 2021-08-18 08:59:04 +02:00
imu iio: imu: inv_icm42600: fix timestamp reset 2023-06-09 10:30:13 +02:00
light iio: light: vcnl4035: fixed chip ID check 2023-06-09 10:30:13 +02:00
magnetometer iio: magnetometer: ak8975: Fix the error handling in ak8975_power_on() 2022-05-09 09:04:58 +02:00
multiplexer iio: multiplexer: iio-mux: Simplify with dev_err_probe() 2020-09-03 19:40:51 +01:00
orientation iio: hid-sensors: select IIO_TRIGGERED_BUFFER under HID_SENSOR_IIO_TRIGGER 2021-05-19 10:13:13 +02:00
position iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
potentiometer iio:potentiometer:mcp4531: Drop of_match_ptr and CONFIG_OF protections. 2020-09-21 18:41:27 +01:00
potentiostat iio: potentiostat: lmp91000: Fix alignment of buffer in iio_push_to_buffers_with_timestamp() 2021-07-14 16:56:37 +02:00
pressure iio: pressure: ms5611: fixed value compensation bug 2022-12-02 17:39:57 +01:00
proximity iio: proximity: vl53l0x: Fix return value check of wait_for_completion_timeout 2022-06-14 18:32:32 +02:00
resolver iio:resolver:ad2s1200: Drop of_match_ptr protection 2020-09-21 18:41:31 +01:00
temperature iio: temperature: ltc2983: make bulk write buffer DMA-safe 2023-01-14 10:15:57 +01:00
trigger iio: trigger: sysfs: fix possible memory leak in iio_sysfs_trig_init() 2022-11-25 17:45:51 +01:00
iio_core_trigger.h iio: trigger: make stub functions static inline 2020-08-22 10:53:18 +01:00
iio_core.h iio: buffer: rename 'read_first_n' callback to 'read' 2019-12-29 15:20:09 +00:00
industrialio-buffer.c iio: buffer: Fix demux update 2020-12-30 11:54:24 +01:00
industrialio-configfs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
industrialio-core.c Second set of features and cleanups for IIO in 5.10 2020-09-22 09:45:11 +02:00
industrialio-event.c iio: event: NULL-ify IIO device's event_interface ref during unregister 2020-09-29 17:27:05 +01:00
industrialio-sw-device.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
industrialio-sw-trigger.c iio: core: Fix entry not deleted when iio_register_sw_trigger_type() fails 2022-12-02 17:40:02 +01:00
industrialio-trigger.c iio: trigger: Fix reference counting 2021-12-14 11:32:44 +01:00
industrialio-triggered-event.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
inkern.c iio: inkern: only release the device node when done with it 2022-10-26 13:25:30 +02:00
Kconfig iio: add addac subdirectory 2023-08-26 15:26:47 +02:00
Makefile iio: add addac subdirectory 2023-08-26 15:26:47 +02:00
TODO iio: add a TODO 2020-03-08 17:28:53 +00:00