The of_find_node_by_type() returns a node pointer with refcount
incremented, but there is the lack of use of the of_node_put() when
done. Add the missing of_node_put() to release the refcount.

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

diff --git a/arch/csky/kernel/smp.c b/arch/csky/kernel/smp.c
index 36ebaf9834e1..adec56df613b 100644
--- a/arch/csky/kernel/smp.c
+++ b/arch/csky/kernel/smp.c
@@ -139,11 +139,17 @@ void __init setup_smp(void)
        int cpu;
 
        while ((node = of_find_node_by_type(node, "cpu"))) {
-               if (!of_device_is_available(node))
+               if (!of_device_is_available(node)) {
+                       of_node_put(node);
                        continue;
+               }
 
-               if (of_property_read_u32(node, "reg", &cpu))
+               if (of_property_read_u32(node, "reg", &cpu)) {
+                       of_node_put(node);
                        continue;
+               }
+
+               of_node_put(node);
 
                if (cpu >= NR_CPUS)
                        continue;
-- 
2.17.0

Reply via email to