Commit df4f0041 authored by yipechai's avatar yipechai Committed by Alex Deucher

drm/amdgpu: No longer insert ras blocks into ras_list if it already exists in ras_list

No longer insert ras blocks into ras_list if it already exists in ras_list.
Signed-off-by: default avataryipechai <YiPeng.Chai@amd.com>
Reviewed-by: default avatarTao Zhou <tao.zhou1@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent df01fe73
...@@ -2753,12 +2753,20 @@ int amdgpu_ras_reset_gpu(struct amdgpu_device *adev) ...@@ -2753,12 +2753,20 @@ int amdgpu_ras_reset_gpu(struct amdgpu_device *adev)
int amdgpu_ras_register_ras_block(struct amdgpu_device *adev, int amdgpu_ras_register_ras_block(struct amdgpu_device *adev,
struct amdgpu_ras_block_object* ras_block_obj) struct amdgpu_ras_block_object* ras_block_obj)
{ {
struct amdgpu_ras_block_object *obj, *tmp;
if (!adev || !ras_block_obj) if (!adev || !ras_block_obj)
return -EINVAL; return -EINVAL;
if (!amdgpu_ras_asic_supported(adev)) if (!amdgpu_ras_asic_supported(adev))
return 0; return 0;
/* If the ras object is in ras_list, don't add it again */
list_for_each_entry_safe(obj, tmp, &adev->ras_list, node) {
if (obj == ras_block_obj) {
return 0;
}
}
INIT_LIST_HEAD(&ras_block_obj->node); INIT_LIST_HEAD(&ras_block_obj->node);
list_add_tail(&ras_block_obj->node, &adev->ras_list); list_add_tail(&ras_block_obj->node, &adev->ras_list);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment