thermal/of: add missing of_node_put()
for_each_child_of_node performs an of_node_get on each iteration, so a break out of the loop requires an of_node_put. This was done using the Coccinelle semantic patch iterators/for_each_child.cocci Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
0bb80ecc33
commit
8a81cf96f5
|
@ -37,8 +37,10 @@ static int of_find_trip_id(struct device_node *np, struct device_node *trip)
|
|||
*/
|
||||
for_each_child_of_node(trips, t) {
|
||||
|
||||
if (t == trip)
|
||||
if (t == trip) {
|
||||
of_node_put(t);
|
||||
goto out;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
|
@ -401,9 +403,11 @@ static int thermal_of_for_each_cooling_maps(struct thermal_zone_device *tz,
|
|||
|
||||
for_each_child_of_node(cm_np, child) {
|
||||
ret = thermal_of_for_each_cooling_device(tz_np, child, tz, cdev, action);
|
||||
if (ret)
|
||||
if (ret) {
|
||||
of_node_put(child);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
of_node_put(cm_np);
|
||||
out:
|
||||
|
|
Loading…
Reference in New Issue