Re: [patch V3 16/22] genirq/msi: Provide new domain id based interfaces for freeing interrupts

From: Thomas Gleixner
Date: Mon Jan 16 2023 - 13:25:00 EST


David!

On Mon, Jan 16 2023 at 17:35, Thomas Gleixner wrote:
> On Mon, Jan 16 2023 at 09:56, David Woodhouse wrote:
>
> This is just wrong. I need to taxi my grandson. Will have a look
> afterwards.

There are three 'tglx missed to fixup XEN' problems:

- b2bdda205c0c ("PCI/MSI: Let the MSI core free descriptors")

This requires the MSI_FLAG_FREE_MSI_DESCS flag to be set in the XEN
MSI domain info


- 2f2940d16823 ("genirq/msi: Remove filter from msi_free_descs_free_range()")

This requires the 'desc->irq = 0' disassociation on teardown.


- ffd84485e6be ("PCI/MSI: Let the irq code handle sysfs groups")

Lacks a flag in the XEN MSI domain info as well.

Combo patch below.

Thanks,

tglx
---
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -392,6 +392,7 @@ static void xen_teardown_msi_irqs(struct
msi_for_each_desc(msidesc, &dev->dev, MSI_DESC_ASSOCIATED) {
for (i = 0; i < msidesc->nvec_used; i++)
xen_destroy_irq(msidesc->irq + i);
+ msidesc->irq = 0;
}
}

@@ -434,6 +435,7 @@ static struct msi_domain_ops xen_pci_msi

static struct msi_domain_info xen_pci_msi_domain_info = {
.ops = &xen_pci_msi_domain_ops,
+ .flags = MSI_FLAG_FREE_MSI_DESCS | MSI_FLAG_DEV_SYSFS,
};

/*