cc: Tao/Thomas to take a look.

Thanks,
Lijo

On 29-Sep-26 12:55 PM, Hong, Chi wrote:
AMD General

Ping

-----Original Message-----
From: Chi Hong <[email protected]>
Sent: Monday, September 28, 2026 2:12 PM
To: [email protected]
Cc: Hong, Chi <[email protected]>
Subject: [PATCH] drm/amd/ras: skip RAS TA firmware reload on resume for SR-IOV 
VFs

SR-IOV VFs use amdgpu_virt_ras_hw_init() which skips ras_core_hw_init(), 
leaving fw_gpu_mem unallocated. ras_psp_reload_firmwares() then hits the NULL 
buffer and returns -ENOMEM (-12) for every VF on resume, aborting
ip_resume_phase2 before amdgpu_fence_driver_hw_init() runs. The next hibernate 
double-puts IRQ refcounts causing a WARN storm.

Skip the reload for VFs - there is nothing local to reload. The post-reset path 
(amdgpu_ras_mgr_resume_after_reset) is unaffected.

Fixes: 5e5be56a5b76 ("drm/amdgpu/ras: reload RAS TA from ras mgr resume")
Signed-off-by: Chi Hong <[email protected]>
---
  drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c | 3 +++
  1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c 
b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c
index a02167397ce2..5bac792554f5 100644
--- a/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c
+++ b/drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c
@@ -529,6 +529,9 @@ static int amdgpu_ras_mgr_resume(struct amdgpu_ip_block 
*ip_block)
         if (!ras_mgr->ras_is_ready)
                 return 0;

+       if (amdgpu_sriov_vf(adev))
+               return 0;
+
         ret = ras_psp_reload_firmwares(ras_mgr->ras_core, 0);
         if (ret)
                 RAS_DEV_ERR(adev,
--
2.43.0

Reply via email to