[PATCH 2/4] thermal/drivers/exynos: fix set_trip_temp() deadlock

From: Johan Hovold
Date: Wed Dec 14 2022 - 08:19:12 EST


The set_trip_temp() callback is used when changing the trip temperature
through sysfs. As it is called with the thermal-zone-device lock held
it must not use thermal_zone_get_trip() directly or it will deadlock.

Fixes: 169865e317f2 ("thermal/drivers/exynos: Use generic thermal_zone_get_trip() function")
Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx>
---
drivers/thermal/samsung/exynos_tmu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c
index 37465af59262..cf9028f80415 100644
--- a/drivers/thermal/samsung/exynos_tmu.c
+++ b/drivers/thermal/samsung/exynos_tmu.c
@@ -354,7 +354,7 @@ static void exynos4210_tmu_set_trip_temp(struct exynos_tmu_data *data,
struct thermal_trip trip;
u8 ref, th_code;

- if (thermal_zone_get_trip(data->tzd, 0, &trip))
+ if (__thermal_zone_get_trip(data->tzd, 0, &trip))
return;

ref = trip.temperature / MCELSIUS;
--
2.37.4