]> xenbits.xensource.com Git - xen.git/commitdiff
x86/msi: always propagate MSI register writes from __setup_msi_irq()
authorRoger Pau Monne <roger.pau@citrix.com>
Tue, 18 Mar 2025 08:31:35 +0000 (09:31 +0100)
committerRoger Pau Monne <roger.pau@citrix.com>
Thu, 20 Mar 2025 08:27:25 +0000 (09:27 +0100)
After 8e60d47cf011 writes from __setup_msi_irq() will no longer be
propagated to the MSI registers if the IOMMU IRTE was already allocated.
Given the purpose of __setup_msi_irq() is MSI initialization, always
propagate the write to the hardware, regardless of whether the IRTE was
already allocated.

No functional change expected, as the write should always be propagated in
__setup_msi_irq(), but make it explicit on the write_msi_msg() call.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/msi.c

index 8bb3bb18af6198f236d2dda06ccd410e313f3c04..5389bc08674a34784acb8444087b99e1cc168f45 100644 (file)
@@ -532,7 +532,7 @@ int __setup_msi_irq(struct irq_desc *desc, struct msi_desc *msidesc,
     desc->msi_desc = msidesc;
     desc->handler = handler;
     msi_compose_msg(desc->arch.vector, desc->arch.cpu_mask, &msg);
-    ret = write_msi_msg(msidesc, &msg, false);
+    ret = write_msi_msg(msidesc, &msg, true);
     if ( unlikely(ret) )
     {
         desc->handler = &no_irq_type;