[tip: irq/msi] genirq/msi: Engage the .msi_teardown() callback on domain removal
From: tip-bot2 for Marc Zyngier
Date: Fri May 16 2025 - 06:02:33 EST
The following commit has been merged into the irq/msi branch of tip:
Commit-ID: 03c298760ed97c5981402d64c4eed9bc4f2f0a4e
Gitweb: https://git.kernel.org/tip/03c298760ed97c5981402d64c4eed9bc4f2f0a4e
Author: Marc Zyngier <maz@xxxxxxxxxx>
AuthorDate: Tue, 13 May 2025 17:31:43 +01:00
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitterDate: Wed, 14 May 2025 12:36:42 +02:00
genirq/msi: Engage the .msi_teardown() callback on domain removal
Kindly inform the MSI driver that the domain is torn down, providing the
allocation context previously populated on domain creation.
Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: https://lore.kernel.org/all/20250513163144.2215824-5-maz@xxxxxxxxxx
---
kernel/irq/msi.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/kernel/irq/msi.c b/kernel/irq/msi.c
index 1098f26..b5559fa 100644
--- a/kernel/irq/msi.c
+++ b/kernel/irq/msi.c
@@ -1096,6 +1096,9 @@ void msi_remove_device_irq_domain(struct device *dev, unsigned int domid)
dev->msi.data->__domains[domid].domain = NULL;
info = domain->host_data;
+
+ info->ops->msi_teardown(domain, info->alloc_data);
+
if (irq_domain_is_msi_device(domain))
fwnode = domain->fwnode;
irq_domain_remove(domain);