diff mbox

[v4.9] PM / OPP: Add missing of_node_put(np)

Message ID ae2651dc6a3e347122f4736eb3a682185508cbc7.1511851887.git.viresh.kumar@linaro.org (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Viresh Kumar Nov. 28, 2017, 6:51 a.m. UTC
From: Tobias Jordan <Tobias.Jordan@elektrobit.com>

commit 7978db344719dab1e56d05e6fc04aaaddcde0a5e upstream.

The for_each_available_child_of_node() loop in _of_add_opp_table_v2()
doesn't drop the reference to "np" on errors. Fix that.

Fixes: 274659029c9d (PM / OPP: Add support to parse "operating-points-v2" bindings)
Cc: 4.9 <stable@vger.kernel.org> # 4.9
Signed-off-by: Tobias Jordan <Tobias.Jordan@elektrobit.com>
[ VK: Improved commit log. ]
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/base/power/opp/of.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Greg KH Nov. 28, 2017, 8:44 a.m. UTC | #1
On Tue, Nov 28, 2017 at 12:21:38PM +0530, Viresh Kumar wrote:
> From: Tobias Jordan <Tobias.Jordan@elektrobit.com>
> 
> commit 7978db344719dab1e56d05e6fc04aaaddcde0a5e upstream.
> 
> The for_each_available_child_of_node() loop in _of_add_opp_table_v2()
> doesn't drop the reference to "np" on errors. Fix that.
> 
> Fixes: 274659029c9d (PM / OPP: Add support to parse "operating-points-v2" bindings)
> Cc: 4.9 <stable@vger.kernel.org> # 4.9
> Signed-off-by: Tobias Jordan <Tobias.Jordan@elektrobit.com>
> [ VK: Improved commit log. ]
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>  drivers/base/power/opp/of.c | 1 +
>  1 file changed, 1 insertion(+)

Thanks, now applied.

greg k-h
diff mbox

Patch

diff --git a/drivers/base/power/opp/of.c b/drivers/base/power/opp/of.c
index 5552211e6fcd..af208884bbed 100644
--- a/drivers/base/power/opp/of.c
+++ b/drivers/base/power/opp/of.c
@@ -348,6 +348,7 @@  static int _of_add_opp_table_v2(struct device *dev, struct device_node *opp_np)
 		if (ret) {
 			dev_err(dev, "%s: Failed to add OPP, %d\n", __func__,
 				ret);
+			of_node_put(np);
 			goto free_table;
 		}
 	}