IIO: 1st set of fixes for the 7.0 cycle

Usual mixed bag of ancient bugs that have been discovered and more
 recent stuff.
 
 core
 - Cleanup a wait_queue if a driver is removed at exacty the wrong
   moment.
 adi,adf4377
 - Check correct masks when waiting for reset to complete.
 adi,adis
 - Fix a NULL pointer dereference if ops not provided to adis_init()
 bosch,bme680
 - Fix typo in value used to calculate measurement wait duration.
 infineon,tlv493d
 - Drop incorrect shifting of some bits for x-axis
 invensense,icm42600
 - Fix corner case of output data rate being set to the value it already
   has which resulted in waiting for ever for a flag to say the update was
   completed.
 - Fix a case where the buffer is turned off whilst ODR switch is in progress.
 invensense,icm45600
 - Interrupt 1 drive bit was inverted.
 - Fix a underflow for regulator put warning if probe fails
 invensense,mpu9150
 - Work around a hardware quirk where reading from irq status is not sufficient
   to acknowledge an interrupt.
 maxim,ds4424
 - Reject -128 as a possible raw value as it's out of range with the sign
   / magnitude encoding used by this chip.
 microchip,mcp4131
 - Shift the wiper value only once.
 rohm,bh1780
 - Fix a runtime reference count issue on an error path.
 sensiron,sps30
 - Fix two buffer size issues due to sizeof() wrong thing.
 tyhx,hx9023s
 - Ensure count used by __counted_by is set before accessing the buffer.
 - Avoid a potential division by zero.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCgAvFiEEbilms4eEBlKRJoGxVIU0mcT0FogFAmmgH4kRHGppYzIzQGtl
 cm5lbC5vcmcACgkQVIU0mcT0Fognpw/9ENY3qcZzrI2KBBXtAEAcCtYMm2PHaR3Q
 Uz3LNgdbMC9J202rHAzhVWD5J2zDejKFYGs6v9fyddqMPv804KJI7dTTHwbYDJ26
 ok0w0xvrwfhRrXkFGmD7GkXsBfse/tR2p+gvUJPOVVT3hUjHdNKvzmeBy4kkhgIi
 O2bOv6h2kpPbvZVJA6vSGJksuV4UrEo7I92g/ecADQIzjDWWXT2NtV/sh+CHph/8
 eNlLF9uEf6EJN13QTOl6QVQcBwZi+IRkF5roPiWGySFB64l2DSVsmig5Uhob8m8Z
 X3Sze/QgkFtKNZ7YTPuXoGNRSXzIV/Oh6gFm03iLlLlqWYQ3nFVQAkYr4JKbod1x
 /JbWWG+36dsuwL2OknaPbtuIFAHtEKkl54/sS9cfqq6YiXJ9pb4eQr8Mw/ipgvaz
 /qmD0qj+uOfiP+z5RzhZGRnmRoJrG5D/48ga/c46FUPbOwk8jqeILL7FB+dSqn+X
 QlTffpWHRvJDCcTw1o/RRabNNh1843IcmvDNc8sgJWFO6e52Bb65Gc5fYCGEHn/m
 XidkQiJp0Wdh/ppOe3kc7/bSyilpyhKqdexUD7HevT31Ui21bK4iNCPnbwaPAxIl
 Uc792DLvCgumnfm3VUPAsfQaH7EF6/YL1WlleReHkf6HDhObHOcBbTxwKA09NwMF
 wXkCdrgE8jY=
 =/1XH
 -----END PGP SIGNATURE-----

Merge tag 'iio-fixes-for-7.0a' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio into work-linus

Jonathan writes:

IIO: 1st set of fixes for the 7.0 cycle

Usual mixed bag of ancient bugs that have been discovered and more
recent stuff.

core
- Cleanup a wait_queue if a driver is removed at exacty the wrong
  moment.
adi,adf4377
- Check correct masks when waiting for reset to complete.
adi,adis
- Fix a NULL pointer dereference if ops not provided to adis_init()
bosch,bme680
- Fix typo in value used to calculate measurement wait duration.
infineon,tlv493d
- Drop incorrect shifting of some bits for x-axis
invensense,icm42600
- Fix corner case of output data rate being set to the value it already
  has which resulted in waiting for ever for a flag to say the update was
  completed.
- Fix a case where the buffer is turned off whilst ODR switch is in progress.
invensense,icm45600
- Interrupt 1 drive bit was inverted.
- Fix a underflow for regulator put warning if probe fails
invensense,mpu9150
- Work around a hardware quirk where reading from irq status is not sufficient
  to acknowledge an interrupt.
maxim,ds4424
- Reject -128 as a possible raw value as it's out of range with the sign
  / magnitude encoding used by this chip.
microchip,mcp4131
- Shift the wiper value only once.
rohm,bh1780
- Fix a runtime reference count issue on an error path.
sensiron,sps30
- Fix two buffer size issues due to sizeof() wrong thing.
tyhx,hx9023s
- Ensure count used by __counted_by is set before accessing the buffer.
- Avoid a potential division by zero.

* tag 'iio-fixes-for-7.0a' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/jic23/iio:
  iio: imu: adis: Fix NULL pointer dereference in adis_init
  iio: imu: inv_icm45600: fix regulator put warning when probe fails
  iio: buffer: Fix wait_queue not being removed
  iio: gyro: mpu3050-core: fix pm_runtime error handling
  iio: gyro: mpu3050-i2c: fix pm_runtime error handling
  iio: adc: ad7768-1: Fix ERR_PTR dereference in ad7768_fill_scale_tbl
  iio: chemical: sps30_serial: fix buffer size in sps30_serial_read_meas()
  iio: chemical: sps30_i2c: fix buffer size in sps30_i2c_read_meas()
  iio: magnetometer: tlv493d: remove erroneous shift in X-axis data
  iio: proximity: hx9023s: Protect against division by zero in set_samp_freq
  iio: proximity: hx9023s: fix assignment order for __counted_by
  iio: chemical: bme680: Fix measurement wait duration calculation
  iio: dac: ds4424: reject -128 RAW value
  iio: imu: inv_icm45600: fix INT1 drive bit inverted
  iio: potentiometer: mcp4131: fix double application of wiper shift
  iio: imu: inv-mpu9150: fix irq ack preventing irq storms
  iio: frequency: adf4377: Fix duplicated soft reset mask
  iio: light: bh1780: fix PM runtime leak on error path
  iio: imu: inv_icm42600: fix odr switch when turning buffer off
  iio: imu: inv_icm42600: fix odr switch to the same value
This commit is contained in:
Greg Kroah-Hartman 2026-02-26 15:48:29 -08:00
commit 994d5dfa4e
22 changed files with 73 additions and 27 deletions