diff options
author | Horace Chen <horace.chen@amd.com> | 2021-01-20 22:03:28 +0800 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2021-01-25 17:45:16 -0500 |
commit | 91fb309d8294be5ab03746638e10bb3e5680f348 (patch) | |
tree | 74e197780fc7941ae409f12a61540c7bae762153 /drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.c | |
parent | eda1068dc995fbc87eee04496a3414372a8ef63d (diff) | |
download | linux-91fb309d8294be5ab03746638e10bb3e5680f348.tar.gz linux-91fb309d8294be5ab03746638e10bb3e5680f348.tar.bz2 linux-91fb309d8294be5ab03746638e10bb3e5680f348.zip |
drm/amdgpu: race issue when jobs on 2 ring timeout
Fix a racing issue when jobs on 2 rings timeout simultaneously.
If 2 rings timed out at the same time, the
amdgpu_device_gpu_recover will be reentered. Then the
adev->gmc.xgmi.head will be grabbed by 2 local linked list,
which may cause wild pointer issue in iterating.
lock the device earily to prevent the node be added to 2
different lists.
also increase karma for the skipped job since the job is also
timed out and should be guilty.
Signed-off-by: Horace Chen <horace.chen@amd.com>
Reviewed-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.c')
0 files changed, 0 insertions, 0 deletions