linux/drivers/w1/slaves
Stefan Wahren dca5480ab7 w1: w1_therm: fix locking behavior in convert_t
The commit 67b392f7b8 ("w1_therm: optimizing temperature read timings")
accidentially inverted the logic for lock handling of the bus mutex.

Before:
  pullup -> release lock before sleep
  no pullup -> release lock after sleep

After:
  pullup -> release lock after sleep
  no pullup -> release lock before sleep

This cause spurious measurements of 85 degree (powerup value) on the
Tarragon board with connected 1-w temperature sensor
(w1_therm.w1_strong_pull=0).

In the meantime a new feature for polling the conversion
completion has been integrated in these branches with
commit 021da53e65 ("w1: w1_therm: Add sysfs entries to control
conversion time and driver features"). But this feature isn't
available for parasite power mode, so handle this separately.

Link: https://lore.kernel.org/regressions/2023042645-attentive-amends-7b0b@gregkh/T/
Fixes: 67b392f7b8 ("w1_therm: optimizing temperature read timings")
Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
Link: https://lore.kernel.org/r/20230427112152.12313-1-stefan.wahren@i2se.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
2023-05-08 08:13:35 +02:00
..
Kconfig w1: new driver. DS2430 chip 2019-11-14 13:06:33 +08:00
Makefile w1: new driver. DS2430 chip 2019-11-14 13:06:33 +08:00
w1_ds28e04.c w1: minor white-space and code style fixes 2023-04-20 14:15:06 +02:00
w1_ds28e17.c w1: use octal for file permissions 2023-04-20 14:15:06 +02:00
w1_ds250x.c w1: Constify static w1_family_ops structs 2020-10-05 13:21:49 +02:00
w1_ds2405.c w1: Constify static w1_family_ops structs 2020-10-05 13:21:49 +02:00
w1_ds2406.c w1: use octal for file permissions 2023-04-20 14:15:06 +02:00
w1_ds2408.c w1: minor white-space and code style fixes 2023-04-20 14:15:06 +02:00
w1_ds2413.c w1: use octal for file permissions 2023-04-20 14:15:06 +02:00
w1_ds2423.c w1: Constify static w1_family_ops structs 2020-10-05 13:21:49 +02:00
w1_ds2430.c w1: Constify static w1_family_ops structs 2020-10-05 13:21:49 +02:00
w1_ds2431.c w1: Constify static w1_family_ops structs 2020-10-05 13:21:49 +02:00
w1_ds2433.c w1: ds2433: do not use assignment in if condition 2023-04-20 14:15:06 +02:00
w1_ds2438.c w1: ds2438: support for writing to offset register 2021-05-21 14:51:33 +02:00
w1_ds2780.c w1: minor white-space and code style fixes 2023-04-20 14:15:06 +02:00
w1_ds2780.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
w1_ds2781.c w1: minor white-space and code style fixes 2023-04-20 14:15:06 +02:00
w1_ds2781.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
w1_ds2805.c w1: use octal for file permissions 2023-04-20 14:15:06 +02:00
w1_smem.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 94 2019-05-24 17:37:53 +02:00
w1_therm.c w1: w1_therm: fix locking behavior in convert_t 2023-05-08 08:13:35 +02:00