From: Rafael J. Wysocki Date: Tue, 30 Apr 2024 15:45:55 +0000 (+0200) Subject: thermal: core: Do not call handle_thermal_trip() if zone temperature is invalid X-Git-Tag: v6.10-rc1~176^2~1^2~1 X-Git-Url: https://repo.jachan.dev/linux.git/commitdiff_plain/202aa0d4bb53 thermal: core: Do not call handle_thermal_trip() if zone temperature is invalid Make __thermal_zone_device_update() bail out if update_temperature() fails to update the zone temperature because __thermal_zone_get_temp() has returned an error and the current zone temperature is THERMAL_TEMP_INVALID (user space receiving netlink thermal messages, thermal debug code and thermal governors may get confused otherwise). Fixes: 9ad18043fb35 ("thermal: core: Send trip crossing notifications at init time if needed") Signed-off-by: Rafael J. Wysocki Reviewed-by: Lukasz Luba Tested-by: Lukasz Luba --- diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c index f43237ef2cd0..8bffd9101a32 100644 --- a/drivers/thermal/thermal_core.c +++ b/drivers/thermal/thermal_core.c @@ -487,6 +487,9 @@ void __thermal_zone_device_update(struct thermal_zone_device *tz, update_temperature(tz); + if (tz->temperature == THERMAL_TEMP_INVALID) + return; + __thermal_zone_set_trips(tz); tz->notify_event = event;