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

Reply via email to