linux/drivers/w1/slaves
Alexey Khoroshilov f53459c008 w1: keep balance of mutex locks and refcnts
w1_therm_eeprom() and w1_DS18B20_precision() decrement THERM_REFCNT
on error paths, while they did not increment it yet.

read_therm() unlocks bus mutex on some error paths,
while it is not acquired.

The patch makes sure all the functions keep the balance in usage of
the mutex and the THERM_REFCNT.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-08 14:26:50 +01:00
..
Kconfig add w1_ds28e17 driver for the DS28E17 Onewire to I2C master bridge 2017-10-04 10:29:22 +02:00
Makefile add w1_ds28e17 driver for the DS28E17 Onewire to I2C master bridge 2017-10-04 10:29:22 +02:00
w1_ds28e04.c w1: Add subsystem kernel public interface 2017-06-09 11:54:54 +02:00
w1_ds28e17.c add w1_ds28e17 driver for the DS28E17 Onewire to I2C master bridge 2017-10-04 10:29:22 +02:00
w1_ds2405.c w1: Add subsystem kernel public interface 2017-06-09 11:54:54 +02:00
w1_ds2406.c w1: Add subsystem kernel public interface 2017-06-09 11:54:54 +02:00
w1_ds2408.c w1: Add subsystem kernel public interface 2017-06-09 11:54:54 +02:00
w1_ds2413.c w1: Add subsystem kernel public interface 2017-06-09 11:54:54 +02:00
w1_ds2423.c w1: Add subsystem kernel public interface 2017-06-09 11:54:54 +02:00
w1_ds2431.c w1: Add subsystem kernel public interface 2017-06-09 11:54:54 +02:00
w1_ds2433.c w1: Add subsystem kernel public interface 2017-06-09 11:54:54 +02:00
w1_ds2438.c w1: ds2438: make several functions static 2017-08-28 17:20:01 +02:00
w1_ds2760.c w1: Add subsystem kernel public interface 2017-06-09 11:54:54 +02:00
w1_ds2760.h w1: w1_ds2760.h: fix defines indentation 2017-03-17 15:10:49 +09:00
w1_ds2780.c w1: Add subsystem kernel public interface 2017-06-09 11:54:54 +02:00
w1_ds2780.h W1: split master mutex to avoid deadlocks. 2012-06-13 16:38:40 -07:00
w1_ds2781.c w1: Add subsystem kernel public interface 2017-06-09 11:54:54 +02:00
w1_ds2781.h W1: split master mutex to avoid deadlocks. 2012-06-13 16:38:40 -07:00
w1_ds2805.c drivers: w1: Add 1w slave driver for DS28E05 EEPROM 2017-08-28 17:23:29 +02:00
w1_smem.c w1: Add subsystem kernel public interface 2017-06-09 11:54:54 +02:00
w1_therm.c w1: keep balance of mutex locks and refcnts 2017-11-08 14:26:50 +01:00