WSL2-Linux-Kernel/drivers/iio
Dumitru Ceclan 0fd0ef7cf0 iio: adc: ad7124: fix chip ID mismatch
commit 96f9ab0d5933c1c00142dd052f259fce0bc3ced2 upstream.

The ad7124_soft_reset() function has the assumption that the chip will
assert the "power-on reset" bit in the STATUS register after a software
reset without any delay. The POR bit =0 is used to check if the chip
initialization is done.

A chip ID mismatch probe error appears intermittently when the probe
continues too soon and the ID register does not contain the expected
value.

Fix by adding a 200us delay after the software reset command is issued.

Fixes: b3af341bbd ("iio: adc: Add ad7124 support")
Signed-off-by: Dumitru Ceclan <dumitru.ceclan@analog.com>
Reviewed-by: Nuno Sa <nuno.sa@analog.com>
Link: https://patch.msgid.link/20240731-ad7124-fix-v1-1-46a76aa4b9be@analog.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-09-12 11:07:50 +02:00
..
accel iio: accel: fxls8962af: select IIO_BUFFER & IIO_KFIFO_BUF 2024-07-05 09:14:46 +02:00
adc iio: adc: ad7124: fix chip ID mismatch 2024-09-12 11:07:50 +02:00
addac iio: addac: stx104: Fix race condition when converting analog-to-digital 2023-08-26 14:23:27 +02:00
afe iio: afe: rescale: Accept only offset channels 2023-11-08 17:26:42 +01:00
amplifiers
buffer iio: buffer-dmaengine: fix releasing dma channel on error 2024-09-12 11:07:50 +02:00
cdc
chemical iio: chemical: bme680: Fix sensor data read operation 2024-07-05 09:14:46 +02:00
common iio: common: ms_sensors: ms_sensors_i2c: fix humidity conversion time table 2024-01-05 15:13:32 +01:00
dac iio: dac: ad5592r: fix temperature channel scaling value 2024-07-05 09:14:19 +02:00
dummy
frequency
gyro iio: hid: fix the retval in gyro_3d_capture_sample 2023-02-09 11:26:42 +01:00
health iio: health: afe4404: Fix oob read in afe4404_[read|write]_raw 2022-12-08 11:28:38 +01:00
humidity
imu iio: imu: inv_icm42600: delete unneeded update watermark call 2024-07-05 09:14:19 +02:00
light iio: hid-sensor-als: Return 0 for HID_USAGE_SENSOR_TIME_TIMESTAMP 2024-02-23 08:55:03 +01:00
magnetometer iio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC 2024-02-23 08:55:07 +01:00
multiplexer
orientation
position
potentiometer
potentiostat
pressure iio: pressure: dps310: support negative temperature values 2024-06-16 13:39:37 +02:00
proximity
resolver
temperature iio: temperature: ltc2983: make bulk write buffer DMA-safe 2022-12-31 13:14:29 +01:00
test
trigger iio: trigger: sysfs: fix possible memory leak in iio_sysfs_trig_init() 2022-11-26 09:24:46 +01:00
Kconfig iio: add addac subdirectory 2023-08-26 14:23:26 +02:00
Makefile iio: add addac subdirectory 2023-08-26 14:23:26 +02:00
TODO
iio_core.h
iio_core_trigger.h
industrialio-buffer.c
industrialio-configfs.c
industrialio-core.c iio: core: fix memleak in iio_device_register_sysfs 2024-02-23 08:55:07 +01:00
industrialio-event.c iio: fix memory leak in iio_device_register_eventset() 2022-12-31 13:14:47 +01:00
industrialio-sw-device.c
industrialio-sw-trigger.c iio: core: Fix entry not deleted when iio_register_sw_trigger_type() fails 2022-12-02 17:41:08 +01:00
industrialio-trigger.c
industrialio-triggered-event.c
inkern.c iio: fix scale application in iio_convert_raw_to_processed_unlocked 2024-09-12 11:07:50 +02:00