gpio: sifive: Fix refcount leak in sifive_gpio_probe
authorMiaoqian Lin <linmq006@gmail.com>
Mon, 2 Jan 2023 08:20:39 +0000 (12:20 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Jan 2023 10:59:14 +0000 (11:59 +0100)
[ Upstream commit 694175cd8a1643cde3acb45c9294bca44a8e08e9 ]

of_irq_find_parent() returns a node pointer with refcount incremented,
We should use of_node_put() on it when not needed anymore.
Add missing of_node_put() to avoid refcount leak.

Fixes: 96868dce644d ("gpio/sifive: Add GPIO driver for SiFive SoCs")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpio/gpio-sifive.c

index 7d82388..f50236e 100644 (file)
@@ -209,6 +209,7 @@ static int sifive_gpio_probe(struct platform_device *pdev)
                return -ENODEV;
        }
        parent = irq_find_host(irq_parent);
+       of_node_put(irq_parent);
        if (!parent) {
                dev_err(dev, "no IRQ parent domain\n");
                return -ENODEV;