]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
thermal: intel: x86_pkg_temp_thermal: Handle invalid temperature
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 20 Jan 2026 15:23:41 +0000 (16:23 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 23 Jan 2026 20:52:12 +0000 (21:52 +0100)
After commit be0a3600aa1e ("thermal: sysfs: Rework the handling of trip
point updates"), THERMAL_TEMP_INVALID can be passed to sys_set_trip_temp()
and it is treated as a regular temperature value there, so the sysfs
write fails even though it is expected to succeed and disable the given
trip point.

Address this by making sys_set_trip_temp() clear its temp variable when
it is equal to THERMAL_TEMP_INVALID.

Fixes: be0a3600aa1e ("thermal: sysfs: Rework the handling of trip point updates")
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/2815400.mvXUDI8C0e@rafael.j.wysocki
drivers/thermal/intel/x86_pkg_temp_thermal.c

index 3fc679b6f11b17160eb330f1ee69dbc13b08cf2f..aab5f9fca9c33cd6537d7fd96e36c45d8628b675 100644 (file)
@@ -128,6 +128,9 @@ sys_set_trip_temp(struct thermal_zone_device *tzd,
        u32 l, h, mask, shift, intr;
        int tj_max, val, ret;
 
+       if (temp == THERMAL_TEMP_INVALID)
+               temp = 0;
+
        tj_max = intel_tcc_get_tjmax(zonedev->cpu);
        if (tj_max < 0)
                return tj_max;