[PATCH 2/2] irqchip: crossbar: Fix parent domain resource leak

From: Bhargav Joshi

Date: Tue Jun 09 2026 - 16:57:14 EST


irq_domain_alloc_irqs_parent() is called in allocate_gic_irq() but
irq_domain_free_irqs_parent() is never called. causing 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>
---
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 6a4718be0c58..445c925b9c3d 100644
--- a/drivers/irqchip/irq-crossbar.c
+++ b/drivers/irqchip/irq-crossbar.c
@@ -163,6 +163,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,

--
2.54.0