irqchip/atmel-aic: Fix unbalanced of_node_put() in aic_common_irq_fixup()
authorBoris Brezillon <boris.brezillon@free-electrons.com>
Tue, 4 Jul 2017 09:10:39 +0000 (11:10 +0200)
committerMarc Zyngier <marc.zyngier@arm.com>
Tue, 4 Jul 2017 10:09:50 +0000 (11:09 +0100)
aic_common_irq_fixup() is calling twice of_node_put() on the same node
thus leading to an unbalanced refcount on the root node.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Reported-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Fixes: b2f579b58e93 ("irqchip: atmel-aic: Add irq fixup infrastructure")
Cc: <stable@vger.kernel.org>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/irqchip/irq-atmel-aic-common.c

index 28b26c80f4cf937b8547328b5d724a69e51b7d05..7c5a43488d27d1a516c8b7b22af907ed77c3c0ca 100644 (file)
@@ -196,7 +196,6 @@ static void __init aic_common_irq_fixup(const struct of_device_id *matches)
                return;
 
        match = of_match_node(matches, root);
-       of_node_put(root);
 
        if (match) {
                void (*fixup)(struct device_node *) = match->data;