diff options
| author | Lorenzo Pieralisi <lpieralisi@kernel.org> | 2025-10-21 14:41:00 +0200 |
|---|---|---|
| committer | Rob Herring (Arm) <robh@kernel.org> | 2025-10-22 09:04:03 -0500 |
| commit | c71af4d6d56665e04634babfc45dce3d9ab58285 (patch) | |
| tree | 2105bdb70e38523e46cd2f29a81ec0e0924f9f39 /drivers/of | |
| parent | 119aaeed0b6729293f41ea33be05ecd27a947d48 (diff) | |
| download | net-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.c | 4 |
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; |
