pinctrl: stm32: Fix refcount leak in stm32_pctrl_get_irq_domain
authorMiaoqian Lin <linmq006@gmail.com>
Mon, 2 Jan 2023 08:24:56 +0000 (12:24 +0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:39:21 +0000 (09:39 +0100)
[ Upstream commit dcef18c8ac40aa85bb339f64c1dd31dd458b06fb ]

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: d86f4d71e42a ("pinctrl: stm32: check irq controller availability at probe")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20230102082503.3944927-1-linmq006@gmail.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pinctrl/stm32/pinctrl-stm32.c

index d3fa8cf0d72c40fb839fbf6aa4524246b8b5b8a0..abb12a5c3c3294fc7908231e598d0b90dca12f85 100644 (file)
@@ -1334,6 +1334,7 @@ static struct irq_domain *stm32_pctrl_get_irq_domain(struct device_node *np)
                return ERR_PTR(-ENXIO);
 
        domain = irq_find_host(parent);
+       of_node_put(parent);
        if (!domain)
                /* domain not registered yet */
                return ERR_PTR(-EPROBE_DEFER);