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 <Victor.Zhao@xxxxxxx> Acked-by: Lijo Lazar <lijo.lazar@xxxxxxx> 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);