* [PATCH v1] thermal: intel: int340x: Add locking to int340x_thermal_get_trip_type()
@ 2023-01-25 12:17 Rafael J. Wysocki
0 siblings, 0 replies; only message in thread
From: Rafael J. Wysocki @ 2023-01-25 12:17 UTC (permalink / raw)
To: Linux PM, Srinivas Pandruvada; +Cc: LKML, Zhang Rui, Daniel Lezcano
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
In order to prevent int340x_thermal_get_trip_type() from possibly
racing with int340x_thermal_read_trips() invoked by int3403_notify()
add locking to it in analogy with int340x_thermal_get_trip_temp().
Fixes: 6757a7abe47b ("thermal: intel: int340x: Protect trip temperature from concurrent updates")
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
On top of the linux-next branch in linux-pm.git from today.
---
drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
Index: linux-pm/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
===================================================================
--- linux-pm.orig/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
+++ linux-pm/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c
@@ -75,7 +75,9 @@ static int int340x_thermal_get_trip_type
enum thermal_trip_type *type)
{
struct int34x_thermal_zone *d = zone->devdata;
- int i;
+ int i, ret = 0;
+
+ mutex_lock(&d->trip_mutex);
if (trip < d->aux_trip_nr)
*type = THERMAL_TRIP_PASSIVE;
@@ -94,10 +96,12 @@ static int int340x_thermal_get_trip_type
}
}
if (i == INT340X_THERMAL_MAX_ACT_TRIP_COUNT)
- return -EINVAL;
+ ret = -EINVAL;
}
- return 0;
+ mutex_unlock(&d->trip_mutex);
+
+ return ret;
}
static int int340x_thermal_set_trip_temp(struct thermal_zone_device *zone,
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-01-25 12:17 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-25 12:17 [PATCH v1] thermal: intel: int340x: Add locking to int340x_thermal_get_trip_type() Rafael J. Wysocki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox