use of_node_put() to release the refcount. Signed-off-by: Yangtao Li <tiny.win...@gmail.com> --- drivers/cpuidle/cpuidle-big_little.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/cpuidle/cpuidle-big_little.c b/drivers/cpuidle/cpuidle-big_little.c index db2ede565f1a..a3b8bc09bac8 100644 --- a/drivers/cpuidle/cpuidle-big_little.c +++ b/drivers/cpuidle/cpuidle-big_little.c @@ -174,8 +174,10 @@ static int __init bl_idle_init(void) /* * Initialize the driver just for a compliant set of machines */ - if (!of_match_node(compatible_machine_match, root)) - return -ENODEV; + if (!of_match_node(compatible_machine_match, root)){ + ret = -ENODEV; + goto out_release_node; + } if (!mcpm_is_available()) return -EUNATCH; @@ -222,6 +224,8 @@ static int __init bl_idle_init(void) kfree(bl_idle_big_driver.cpumask); out_uninit_little: kfree(bl_idle_little_driver.cpumask); +out_release_node: + of_node_put(root); return ret; } -- 2.17.0