drm/amdgpu: Set CPER enabled flag after ring initiailized
authorXiang Liu <xiang.liu@amd.com>
Mon, 24 Feb 2025 15:01:06 +0000 (23:01 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 25 Feb 2025 16:45:12 +0000 (11:45 -0500)
Setting cper.enabled to be true only after cper ring is successfully
created.

Signed-off-by: Xiang Liu <xiang.liu@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c

index 20c474a328524d585734ef5ebd0517f90f847975..5b6bdabb8012be600b21556c9c52be7121a334e2 100644 (file)
@@ -538,15 +538,23 @@ static int amdgpu_cper_ring_init(struct amdgpu_device *adev)
 
 int amdgpu_cper_init(struct amdgpu_device *adev)
 {
+       int r;
+
        if (!amdgpu_aca_is_enabled(adev))
                return 0;
 
+       r = amdgpu_cper_ring_init(adev);
+       if (r) {
+               dev_err(adev->dev, "fail to initiailize cper ring, r = %d\n", r);
+               return r;
+       }
+
        mutex_init(&adev->cper.cper_lock);
 
        adev->cper.enabled = true;
        adev->cper.max_count = CPER_MAX_ALLOWED_COUNT;
 
-       return amdgpu_cper_ring_init(adev);
+       return 0;
 }
 
 int amdgpu_cper_fini(struct amdgpu_device *adev)