summary refs log tree commit diff
path: root/drivers/gpio/gpio-sifive.c
diff options
context:
space:
mode:
authorMiaoqian Lin <linmq006@gmail.com>2023-01-02 12:20:39 +0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-01-12 12:02:24 +0100
commit9a402a210798662b04cbe6ca466e916a15efa03a (patch)
tree4c5fe7bb06fd669dedeb040bc77b09404997caa3 /drivers/gpio/gpio-sifive.c
parent589886147edf2d1873cae9e5b4267f3d9ace251b (diff)
downloadlinux-9a402a210798662b04cbe6ca466e916a15efa03a.tar.gz
gpio: sifive: Fix refcount leak in sifive_gpio_probe
[ 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>
Diffstat (limited to 'drivers/gpio/gpio-sifive.c')
-rw-r--r--drivers/gpio/gpio-sifive.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-sifive.c b/drivers/gpio/gpio-sifive.c
index 238f3210970c..bc5660f61c57 100644
--- a/drivers/gpio/gpio-sifive.c
+++ b/drivers/gpio/gpio-sifive.c
@@ -215,6 +215,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;