On 18.03.2025 09:29, Roger Pau Monne wrote: > --- a/xen/drivers/passthrough/amd/iommu_intr.c > +++ b/xen/drivers/passthrough/amd/iommu_intr.c > @@ -546,7 +546,7 @@ int cf_check amd_iommu_msi_msg_update_ire( > rc = update_intremap_entry_from_msi_msg(iommu, bdf, nr, > &msi_desc->remap_index, > msg, &data); > - if ( rc > 0 ) > + if ( rc >= 0 ) > { > for ( i = 1; i < nr; ++i ) > msi_desc[i].remap_index = msi_desc->remap_index + i;
I understand that Marek's testing has made clear that this change is needed, yet I don't understand it. If we didn't allocate a new index, why would we need to update in-memory state, when memory is preserved across S3? (This lack of understanding on my part is why I didn't associate the last paragraph of the description with this extra change, when you first sent it in this shape on the original thread.) Jan