of_find_node_by_type() acquires a reference to the node returned by it
and that reference needs to be dropped by its caller. setup_smp()
doesn't do that, so fix it by converting to for_each_of_cpu_node().

Signed-off-by: Yangtao Li <tiny.win...@gmail.com>
---
 arch/csky/kernel/smp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/csky/kernel/smp.c b/arch/csky/kernel/smp.c
index 36ebaf9834e1..74d627300c55 100644
--- a/arch/csky/kernel/smp.c
+++ b/arch/csky/kernel/smp.c
@@ -138,7 +138,7 @@ void __init setup_smp(void)
        struct device_node *node = NULL;
        int cpu;
 
-       while ((node = of_find_node_by_type(node, "cpu"))) {
+       for_each_of_cpu_node(node) {
                if (!of_device_is_available(node))
                        continue;
 
-- 
2.17.0

Reply via email to