aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/thermal/of-thermal.c
diff options
context:
space:
mode:
authorUlises Brindis <brindisu@lab126.com>2016-03-25 12:55:41 -0700
committerEduardo Valentin <edubezval@gmail.com>2016-05-17 07:28:24 -0700
commit1cd91c1820801267b5579fa65842cdf843c73c4d (patch)
tree4824374f73a5e5f9a93057bc0e3518e422ea1fb7 /drivers/thermal/of-thermal.c
parentthermal: Syntactic and factual errors in the API document (diff)
downloadwireguard-linux-1cd91c1820801267b5579fa65842cdf843c73c4d.tar.xz
wireguard-linux-1cd91c1820801267b5579fa65842cdf843c73c4d.zip
thermal: of: fix cleanup when building a thermal zone
of_node_put is iterating through all terms in the tbps array even though the bind has failed. We need to only iterate through the terms that have already passed the binding step. Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org Signed-off-by: Ulises Brindis <brindisu@lab126.com> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
Diffstat (limited to 'drivers/thermal/of-thermal.c')
-rw-r--r--drivers/thermal/of-thermal.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/thermal/of-thermal.c b/drivers/thermal/of-thermal.c
index d8ec44b194d6..82dd82afa555 100644
--- a/drivers/thermal/of-thermal.c
+++ b/drivers/thermal/of-thermal.c
@@ -906,7 +906,7 @@ finish:
return tz;
free_tbps:
- for (i = 0; i < tz->num_tbps; i++)
+ for (i = i - 1; i >= 0; i--)
of_node_put(tz->tbps[i].cooling_device);
kfree(tz->tbps);
free_trips: