Early exits from for_each_compatible_node() should decrement the
node reference counter.

Signed-off-by: He Ying <heyin...@huawei.com>
---
 arch/powerpc/platforms/44x/fsp2.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/powerpc/platforms/44x/fsp2.c 
b/arch/powerpc/platforms/44x/fsp2.c
index b299e43f5ef9..823397c802de 100644
--- a/arch/powerpc/platforms/44x/fsp2.c
+++ b/arch/powerpc/platforms/44x/fsp2.c
@@ -208,6 +208,7 @@ static void node_irq_request(const char *compat, 
irq_handler_t errirq_handler)
                if (irq == NO_IRQ) {
                        pr_err("device tree node %pOFn is missing a interrupt",
                              np);
+                       of_node_put(np);
                        return;
                }
 
@@ -215,6 +216,7 @@ static void node_irq_request(const char *compat, 
irq_handler_t errirq_handler)
                if (rc) {
                        pr_err("fsp_of_probe: request_irq failed: np=%pOF 
rc=%d",
                              np, rc);
+                       of_node_put(np);
                        return;
                }
        }
-- 
2.17.1

Reply via email to