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, }; /*