drm/amdgpu: fix ras UE error injection failure issue
authorYiPeng Chai <YiPeng.Chai@amd.com>
Fri, 19 Jul 2024 12:43:04 +0000 (20:43 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 23 Jul 2024 21:43:06 +0000 (17:43 -0400)
The ras command shared memory is allocated from
VRAM and the response status of the command
buffer will not be zero due to gpu being in
fatal error state after ras UE error injection.

Signed-off-by: YiPeng Chai <YiPeng.Chai@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c

index 7cdff35..189574d 100644 (file)
@@ -1630,9 +1630,7 @@ static int psp_ras_send_cmd(struct psp_context *psp,
 
        switch (cmd) {
        case TA_RAS_COMMAND__TRIGGER_ERROR:
-               if (ret || psp->cmd_buf_mem->resp.status)
-                       ret = -EINVAL;
-               else if (out)
+               if (!ret && out)
                        memcpy(out, &ras_cmd->ras_status, sizeof(ras_cmd->ras_status));
                break;
        case TA_RAS_COMMAND__QUERY_ADDRESS: