The device node obtained with of_find_compatible_node() should be
released by calling of_node_put().  But it was not released when
of_get_property() failed.

Signed-off-by: YueHaibing <yuehaib...@huawei.com>
---
 arch/powerpc/sysdev/xics/xics-common.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/powerpc/sysdev/xics/xics-common.c 
b/arch/powerpc/sysdev/xics/xics-common.c
index 77e864d..e54a9e6 100644
--- a/arch/powerpc/sysdev/xics/xics-common.c
+++ b/arch/powerpc/sysdev/xics/xics-common.c
@@ -448,7 +448,10 @@ static void __init xics_get_server_size(void)
                return;
        isize = of_get_property(np, "ibm,interrupt-server#-size", NULL);
        if (!isize)
+       {
+               of_node_put(np);
                return;
+       }
        xics_interrupt_server_size = be32_to_cpu(*isize);
        of_node_put(np);
 }
-- 
2.7.0


Reply via email to