aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/of
diff options
context:
space:
mode:
authorLorenzo Pieralisi <lpieralisi@kernel.org>2025-10-21 14:41:00 +0200
committerRob Herring (Arm) <robh@kernel.org>2025-10-22 09:04:03 -0500
commitc71af4d6d56665e04634babfc45dce3d9ab58285 (patch)
tree2105bdb70e38523e46cd2f29a81ec0e0924f9f39 /drivers/of
parent119aaeed0b6729293f41ea33be05ecd27a947d48 (diff)
downloadnet-c71af4d6d56665e04634babfc45dce3d9ab58285.tar.gz
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 <lpieralisi@kernel.org> Reviewed-by: Frank Li <Frank.Li@nxp.com> Cc: Rob Herring <robh@kernel.org> Link: https://patch.msgid.link/20251021124103.198419-3-lpieralisi@kernel.org Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Diffstat (limited to 'drivers/of')
-rw-r--r--drivers/of/irq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/of/irq.c b/drivers/of/irq.c
index 321d40ec229bf0..ee7d5f0842e87d 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;