From: Lorenzo Pieralisi Date: Tue, 21 Oct 2025 12:41:00 +0000 (+0200) Subject: of/irq: Fix OF node refcount in of_msi_get_domain() X-Git-Tag: v6.18-rc3~23^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c71af4d6d56665e04634babfc45dce3d9ab58285;p=thirdparty%2Flinux.git of/irq: Fix OF node refcount in of_msi_get_domain() In of_msi_get_domain() if the iterator loop stops early because an irq_domain match is detected, an of_node_put() on the iterator node is needed to keep the OF node refcount in sync. Add it. Signed-off-by: Lorenzo Pieralisi Reviewed-by: Frank Li Cc: Rob Herring Link: https://patch.msgid.link/20251021124103.198419-3-lpieralisi@kernel.org Signed-off-by: Rob Herring (Arm) --- diff --git a/drivers/of/irq.c b/drivers/of/irq.c index 321d40ec229bf..ee7d5f0842e87 100644 --- a/drivers/of/irq.c +++ b/drivers/of/irq.c @@ -774,8 +774,10 @@ struct irq_domain *of_msi_get_domain(struct device *dev, of_for_each_phandle(&it, err, np, "msi-parent", "#msi-cells", 0) { d = irq_find_matching_host(it.node, token); - if (d) + if (d) { + of_node_put(it.node); return d; + } } return NULL;