From fa3c329c18043d52bee5ea64f5a59f6e17261017 Mon Sep 17 00:00:00 2001 From: John Clements Date: Thu, 7 May 2020 18:25:13 +0800 Subject: [PATCH] drm/amdgpu: Fix bug in RAS invoke Invoke sequence should abort when ras interrupt is detected before reading TA host shared memory Reviewed-by: Hawking Zhang Signed-off-by: John Clements Signed-off-by: Alex Deucher --- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c index f061ad6750edd..cade87caed0b3 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c @@ -759,15 +759,15 @@ int psp_ras_invoke(struct psp_context *psp, uint32_t ta_cmd_id) ret = psp_ta_invoke(psp, ta_cmd_id, psp->ras.session_id); + if (amdgpu_ras_intr_triggered()) + return ret; + if (ras_cmd->if_version > RAS_TA_HOST_IF_VER) { DRM_WARN("RAS: Unsupported Interface"); return -EINVAL; } - if (amdgpu_ras_intr_triggered()) - return ret; - if (!ret) { if (ras_cmd->ras_out_message.flags.err_inject_switch_disable_flag) { dev_warn(psp->adev->dev, "ECC switch disabled\n"); -- 2.39.5