@@ -173,7 +173,7 @@ static void __init mxc_init_irq(void __iomem *irqbase)
np = of_find_compatible_node(NULL, NULL, "fsl,imx25-ccm");
mx25_ccm_base = of_iomap(np, 0);
-
+ of_node_put(np);
if (mx25_ccm_base) {
/*
* By default, we mask all interrupts. We set the actual mask
@@ -203,6 +203,7 @@ static void __init mxc_init_irq(void __iomem *irqbase)
np = of_find_compatible_node(NULL, NULL, "fsl,avic");
domain = irq_domain_add_legacy(np, AVIC_NUM_IRQS, irq_base, 0,
&irq_domain_simple_ops, NULL);
+ of_node_put(np);
WARN_ON(!domain);
for (i = 0; i < AVIC_NUM_IRQS / 32; i++, irq_base += 32)
In mxc_init_irq(), we need to use two of_node_put() for two of_find_compatible_node() functions which return node pointers with refcount incremented. Signed-off-by: Liang He <windhl@126.com> --- arch/arm/mach-imx/avic.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)