On Mon, Jun 09, 2025 at 12:34:15PM GMT, Frank Li wrote: > Some MSI controller change address/data pair when irq_set_affinity(). > Current PCI endpoint can't support this type MSI controller. Call > irq_domain_is_msi_immutable() check if address/data pair immutable. > > Signed-off-by: Frank Li <Frank.Li@xxxxxxx> > --- > change in v18 > - update commit message. remove 'include/linux/msi.h' part. > > change from v14 to v17 > - none > > change from v13 to v14 > - bring v10 back > > Change from v9 to v10 > - new patch > --- > drivers/pci/endpoint/pci-ep-msi.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/pci/endpoint/pci-ep-msi.c b/drivers/pci/endpoint/pci-ep-msi.c > index 549b55b864d0e..c0e2d806ee658 100644 > --- a/drivers/pci/endpoint/pci-ep-msi.c > +++ b/drivers/pci/endpoint/pci-ep-msi.c > @@ -44,6 +44,14 @@ int pci_epf_alloc_doorbell(struct pci_epf *epf, u16 num_db) > > dev_set_msi_domain(dev, dom); > > + if (!irq_domain_is_msi_parent(dom)) > + return -EINVAL; This check is not justified in commit message. > + > + if (!irq_domain_is_msi_immutable(dom)) { > + dev_err(dev, "Can't support mutable address/data pair MSI controller\n"); > + return -EINVAL; GICv3 ITS is an immutable MSI controller. From the earlier patches, I could see that you have tested this series with ITS. How did that happen if it errors out here? - Mani -- மணிவண்ணன் சதாசிவம்