[tip: irq/urgent] irqchip/crossbar: Fix parent domain resource leak

From: tip-bot2 for Bhargav Joshi

Date: Sun Jun 21 2026 - 09:02:49 EST


The following commit has been merged into the irq/urgent branch of tip:

Commit-ID: a1074dd62faa6572921d387e8a21589ccea00efc
Gitweb: https://git.kernel.org/tip/a1074dd62faa6572921d387e8a21589ccea00efc
Author: Bhargav Joshi <j.bhargav.u@xxxxxxxxx>
AuthorDate: Sat, 20 Jun 2026 17:39:17 +05:30
Committer: Thomas Gleixner <tglx@xxxxxxxxxx>
CommitterDate: Sun, 21 Jun 2026 14:59:20 +02:00

irqchip/crossbar: Fix parent domain resource leak

irq_domain_alloc_irqs_parent() is called in allocate_gic_irq() but
irq_domain_free_irqs_parent() is never called which causes a resource leak.

Fix this by calling irq_domain_free_irqs_parent() in
crossbar_domain_free().

Fixes: 783d31863fb82 ("irqchip: crossbar: Convert dra7 crossbar to stacked domains")
Signed-off-by: Bhargav Joshi <j.bhargav.u@xxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxx>
Link: https://patch.msgid.link/20260620-irq-crossbar-fix-v2-2-b8e8499f468a@xxxxxxxxx
---
drivers/irqchip/irq-crossbar.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/irqchip/irq-crossbar.c b/drivers/irqchip/irq-crossbar.c
index 4e19e9d..033b087 100644
--- a/drivers/irqchip/irq-crossbar.c
+++ b/drivers/irqchip/irq-crossbar.c
@@ -168,6 +168,7 @@ static void crossbar_domain_free(struct irq_domain *domain, unsigned int virq,
irq_domain_reset_irq_data(d);
}
raw_spin_unlock(&cb->lock);
+ irq_domain_free_irqs_parent(domain, virq, nr_irqs);
}

static int crossbar_domain_translate(struct irq_domain *d,