On 10/28/2024 9:34 AM, Victor Zhao wrote:
> Under sriov, host driver will save and restore vf pci cfg space during
> reset. And during device init, under sriov, pci_restore_state happens after
> fullaccess released, and it can have race condition with mmio protection
> enable from host side leading to missing interrupts.
> 
> So skip amdgpu_device_cache_pci_state for sriov.
> 
> Signed-off-by: Victor Zhao <[email protected]>

Acked-by: Lijo Lazar <[email protected]>

Thanks,
Lijo

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 
> b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 383bbee87df5..64622dc57a6b 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -6451,6 +6451,9 @@ bool amdgpu_device_cache_pci_state(struct pci_dev *pdev)
>       struct amdgpu_device *adev = drm_to_adev(dev);
>       int r;
>  
> +     if (amdgpu_sriov_vf(adev))
> +             return false;
> +
>       r = pci_save_state(pdev);
>       if (!r) {
>               kfree(adev->pci_state);

Reply via email to