diff mbox series

[v1] thermal: trip: Drop lockdep assertion from thermal_zone_trip_id()

Message ID 12311623.O9o76ZdvQC@kreacher
State New
Headers show
Series [v1] thermal: trip: Drop lockdep assertion from thermal_zone_trip_id() | expand

Commit Message

Rafael J. Wysocki Oct. 11, 2023, 3:55 p.m. UTC
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

The lockdep assertion in thermal_zone_trip_id() triggers when the
trip point sysfs attribute of a thermal instance is read, because
there is no thermal zone locking in that code path.

This is not verly useful, though, because there is no mechanism by which
the location of the trips[] table in a thermal zone or its size can
change after binding cooling devices to the trips in that thermal
zone and before those cooling devices are unbound from them.  Thus
it is not in fact necessary to hold the thermal zone lock when
thermal_zone_trip_id() is called from trip_point_show() and so the
lockdep asserion in the former is invalid.

Accordingly, drop that lockdep assertion.

Fixes: 2c7b4bfadef0 ("thermal: core: Store trip pointer in struct thermal_instance")
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---

The commit mentioned above is in linux-next at this time.

---
 drivers/thermal/thermal_trip.c |    2 --
 1 file changed, 2 deletions(-)
diff mbox series

Patch

Index: linux-pm/drivers/thermal/thermal_trip.c
===================================================================
--- linux-pm.orig/drivers/thermal/thermal_trip.c
+++ linux-pm/drivers/thermal/thermal_trip.c
@@ -175,8 +175,6 @@  int thermal_zone_trip_id(struct thermal_
 {
 	int i;
 
-	lockdep_assert_held(&tz->lock);
-
 	for (i = 0; i < tz->num_trips; i++) {
 		if (&tz->trips[i] == trip)
 			return i;