aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBhargav Joshi <j.bhargav.u@gmail.com>2026-06-20 17:39:17 +0530
committerThomas Gleixner <tglx@kernel.org>2026-06-21 14:59:20 +0200
commita1074dd62faa6572921d387e8a21589ccea00efc (patch)
tree165e9d03e69006e50b79a641c1a85ded6b7f086f
parent043db005a8d6932dc7d217c86307e9af0bc10ddc (diff)
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@gmail.com> Signed-off-by: Thomas Gleixner <tglx@kernel.org> Link: https://patch.msgid.link/20260620-irq-crossbar-fix-v2-2-b8e8499f468a@gmail.com
-rw-r--r--drivers/irqchip/irq-crossbar.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/irqchip/irq-crossbar.c b/drivers/irqchip/irq-crossbar.c
index 4e19e9d8a41d..033b08782119 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,