linux_dsm_epyc7002/drivers/iio
David Frey 82f3015635 iio: light: opt3001: fix mutex unlock race
When an end-of-conversion interrupt is received after performing a
single-shot reading of the light sensor, the driver was waking up the
result ready queue before checking opt->ok_to_ignore_lock to determine
if it should unlock the mutex. The problem occurred in the case where
the other thread woke up and changed the value of opt->ok_to_ignore_lock
to false prior to the interrupt thread performing its read of the
variable. In this case, the mutex would be unlocked twice.

Signed-off-by: David Frey <dpfrey@gmail.com>
Reviewed-by: Andreas Dannenberg <dannenberg@ti.com>
Fixes: 94a9b7b180 ("iio: light: add support for TI's opt3001 light sensor")
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2019-10-09 19:11:29 +01:00
..
accel iio: accel: adxl372: Perform a reset at start up 2019-10-09 19:11:25 +01:00
adc iio: adc: ad799x: fix probe error handling 2019-10-09 19:11:29 +01:00
afe treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
amplifiers Second set of IIO device support, features, cleanups and minor fixes for 5.3. 2019-07-01 10:58:13 +02:00
buffer treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
chemical treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
common iio: hid-sensor-attributes: Fix divisions for 32-bit platforms 2019-09-06 08:09:34 +02:00
dac iio: dac: ad5380: fix incorrect assignment to val 2019-09-03 18:55:50 +01:00
dummy treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
frequency iio: frequency: adf4371: Fix output frequency setting 2019-08-05 17:38:33 +01:00
gyro iio:st_sensors: remove buffer allocation at each buffer enable 2019-08-11 09:26:04 +01:00
health treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
humidity iio: humidity: Use device-managed APIs 2019-07-27 22:52:06 +01:00
imu iio: imu: st_lsm6dsx: fix waitime for st_lsm6dsx i2c controller 2019-10-09 19:11:28 +01:00
light iio: light: opt3001: fix mutex unlock race 2019-10-09 19:11:29 +01:00
magnetometer iio:st_sensors: remove buffer allocation at each buffer enable 2019-08-11 09:26:04 +01:00
multiplexer treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
orientation treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 309 2019-06-05 17:37:04 +02:00
potentiometer iio: potentiometer: add a driver for Maxim 5432-5435 2019-08-05 14:25:08 +01:00
potentiostat treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
pressure iio:st_sensors: remove buffer allocation at each buffer enable 2019-08-11 09:26:04 +01:00
proximity Kconfig: Fix the reference to the RFD77402 ToF sensor in the 'help' section 2019-08-25 19:08:36 +01:00
resolver treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
temperature iio: maxim_thermocouple: Use device-managed APIs 2019-07-27 22:52:06 +01:00
trigger IIO: stm32: Remove quadrature related functions from trigger driver 2019-07-27 20:11:18 +01:00
iio_core_trigger.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
iio_core.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
industrialio-buffer.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
industrialio-configfs.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
industrialio-core.c Staging / IIO driver update for 5.3-rc1 2019-07-11 15:36:02 -07:00
industrialio-event.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02: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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
industrialio-trigger.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
industrialio-triggered-event.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
inkern.c Driver Core and debugfs changes for 5.3-rc1 2019-07-12 12:24:03 -07:00
Kconfig Second set of IIO device support, features, cleanups and minor fixes for 5.3. 2019-07-01 10:58:13 +02:00
Makefile counter: stm32-lptimer: add counter device 2019-04-25 21:33:41 +02:00