Commit 5e684ac8 authored by Yangtao Li's avatar Yangtao Li Committed by Stefan Bader

cpuidle: big.LITTLE: fix refcount leak

BugLink: https://bugs.launchpad.net/bugs/1818813

[ Upstream commit 9456823c ]

of_find_node_by_path() acquires a reference to the node
returned by it and that reference needs to be dropped by its caller.
bl_idle_init() doesn't do that, so fix it.
Signed-off-by: default avatarYangtao Li <tiny.windzz@gmail.com>
Acked-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarJuerg Haefliger <juergh@canonical.com>
Signed-off-by: default avatarKhalid Elmously <khalid.elmously@canonical.com>
parent 491b8edb
...@@ -167,6 +167,7 @@ static int __init bl_idle_init(void) ...@@ -167,6 +167,7 @@ static int __init bl_idle_init(void)
{ {
int ret; int ret;
struct device_node *root = of_find_node_by_path("/"); struct device_node *root = of_find_node_by_path("/");
const struct of_device_id *match_id;
if (!root) if (!root)
return -ENODEV; return -ENODEV;
...@@ -174,7 +175,11 @@ static int __init bl_idle_init(void) ...@@ -174,7 +175,11 @@ static int __init bl_idle_init(void)
/* /*
* Initialize the driver just for a compliant set of machines * Initialize the driver just for a compliant set of machines
*/ */
if (!of_match_node(compatible_machine_match, root)) match_id = of_match_node(compatible_machine_match, root);
of_node_put(root);
if (!match_id)
return -ENODEV; return -ENODEV;
if (!mcpm_is_available()) if (!mcpm_is_available())
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment