2023-09-28 16:27:09

by Rafael J. Wysocki

[permalink] [raw]
Subject: [PATCH v1] ACPI: thermal: Mark uninitialized active trips as invalid

From: Rafael J. Wysocki <[email protected]>

After removing the valid flag from struct acpi_thermal_trip, the trip
temperature value is used in validity checks, so it must be
THERMAL_TEMP_INVALID for the active trip entries in struct acpi_thermal_trips
that are not going to be used (because the corresponding objects are not
present in the ACPI tables, for example).

Accordingly, modify acpi_thermal_get_trip_points() to set the temperature
value to THERMAL_TEMP_INVALID for trip point entries skipped by it after
acpi_thermal_init_trip() has returned 'false' for an active trip.

Fixes: 058f5e407deb ("ACPI: thermal: Drop valid flag from struct acpi_thermal_trip")
Signed-off-by: Rafael J. Wysocki <[email protected]>
---

Commit 058f5e407deb mentioned above is present in the linux-next branch
of linux-pm.git and acpi_thermal_init_trip() is introduced by

https://patchwork.kernel.org/project/linux-pm/patch/1785516.VLH7GnMWUR@kreacher/

---
drivers/acpi/thermal.c | 3 +++
1 file changed, 3 insertions(+)

Index: linux-pm/drivers/acpi/thermal.c
===================================================================
--- linux-pm.orig/drivers/acpi/thermal.c
+++ linux-pm/drivers/acpi/thermal.c
@@ -480,6 +480,9 @@ static int acpi_thermal_get_trip_points(

}

+ while (++i < ACPI_THERMAL_MAX_ACTIVE)
+ tz->trips.active[i].trip.temperature = THERMAL_TEMP_INVALID;
+
return count;
}