NAK. This patch should be reverted. We need to figure out why the block is being added and fix this there. Regards, Luben On 2022-01-12 05:38, yipechai wrote: > No longer insert ras blocks into ras_list if it already exists in ras_list. > > Signed-off-by: yipechai <YiPeng.Chai@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c > index 614ae8455c9f..d208fde509de 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c > @@ -2754,12 +2754,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); >