mirror of https://gitee.com/openkylin/linux.git
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 <Hawking.Zhang@amd.com> Signed-off-by: John Clements <john.clements@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
7f6778b114
commit
624e8c8703
|
@ -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);
|
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)
|
if (ras_cmd->if_version > RAS_TA_HOST_IF_VER)
|
||||||
{
|
{
|
||||||
DRM_WARN("RAS: Unsupported Interface");
|
DRM_WARN("RAS: Unsupported Interface");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (amdgpu_ras_intr_triggered())
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
if (ras_cmd->ras_out_message.flags.err_inject_switch_disable_flag) {
|
if (ras_cmd->ras_out_message.flags.err_inject_switch_disable_flag) {
|
||||||
dev_warn(psp->adev->dev, "ECC switch disabled\n");
|
dev_warn(psp->adev->dev, "ECC switch disabled\n");
|
||||||
|
|
Loading…
Reference in New Issue