[PATCH 3/4] thermal/drivers/tegra: fix set_trip_temp() deadlock

From: Johan Hovold
Date: Wed Dec 14 2022 - 08:19:26 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: 56d7b397cc29 ("thermal/drivers/tegra: Use generic thermal_zone_get_trip() function")
Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx>
---
drivers/thermal/tegra/soctherm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/thermal/tegra/soctherm.c b/drivers/thermal/tegra/soctherm.c
index 4203e74e2f79..220873298d77 100644
--- a/drivers/thermal/tegra/soctherm.c
+++ b/drivers/thermal/tegra/soctherm.c
@@ -594,7 +594,7 @@ static int tegra_thermctl_set_trip_temp(struct thermal_zone_device *tz, int trip
if (!tz)
return -EINVAL;

- ret = thermal_zone_get_trip(tz, trip_id, &trip);
+ ret = __thermal_zone_get_trip(tz, trip_id, &trip);
if (ret)
return ret;

--
2.37.4