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

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
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -2753,12 +2753,20 @@ int amdgpu_ras_reset_gpu(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 *obj, *tmp;
	if (!adev || !ras_block_obj)
		return -EINVAL;

	if (!amdgpu_ras_asic_supported(adev))
		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);
	list_add_tail(&ras_block_obj->node, &adev->ras_list);