if amdgpu_mes_ctx_alloc_meta_data() fails, we should call amdgpu_vm_fini()
to handle amdgpu_vm_init().

Add a new lable before amdgpu_vm_init() and goto this lable when
amdgpu_mes_ctx_alloc_meta_data() fails.

Signed-off-by: Jianglei Nie <niejianglei2...@163.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
index 69a70a0aaed9..7c196b8ac49f 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
@@ -1157,7 +1157,7 @@ int amdgpu_mes_self_test(struct amdgpu_device *adev)
        r = amdgpu_mes_ctx_alloc_meta_data(adev, &ctx_data);
        if (r) {
                DRM_ERROR("failed to alloc ctx meta data\n");
-               goto error_pasid;
+               goto error_fini;
        }
 
        ctx_data.meta_data_gpu_addr = AMDGPU_VA_RESERVED_SIZE;
@@ -1215,6 +1215,8 @@ int amdgpu_mes_self_test(struct amdgpu_device *adev)
        BUG_ON(amdgpu_bo_reserve(ctx_data.meta_data_obj, true));
        amdgpu_vm_bo_del(adev, ctx_data.meta_data_va);
        amdgpu_bo_unreserve(ctx_data.meta_data_obj);
+
+error_fini:
        amdgpu_vm_fini(adev, vm);
 
 error_pasid:
-- 
2.25.1

Reply via email to