genirq/msi: Engage the .msi_teardown() callback on domain removal
authorMarc Zyngier <maz@kernel.org>
Tue, 13 May 2025 16:31:43 +0000 (17:31 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 14 May 2025 10:36:42 +0000 (12:36 +0200)
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@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20250513163144.2215824-5-maz@kernel.org
kernel/irq/msi.c

index 1098f2698547f1de99954eed0a1596df9fc965bd..b5559fa609eb44751fea0635ca02e5fc15dbd2d7 100644 (file)
@@ -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);