]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amdgpu/userq: add amdgpu_bo_unpin when amdgpu_ttm_alloc_gart fails
authorSunil Khatri <sunil.khatri@amd.com>
Mon, 18 May 2026 13:03:00 +0000 (18:33 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 27 May 2026 14:39:20 +0000 (10:39 -0400)
Unpin the wptr_obj->obj when amdgpu_ttm_alloc_gart fails.

Signed-off-by: Sunil Khatri <sunil.khatri@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/mes_userqueue.c

index 9bb8f733053776cd0aece9a446821f02eeb85264..4eaf98ba757a59d65731500479f715eab71ef5e1 100644 (file)
@@ -81,7 +81,7 @@ mes_userq_create_wptr_mapping(struct amdgpu_device *adev,
        ret = amdgpu_ttm_alloc_gart(&wptr_obj->obj->tbo);
        if (ret) {
                DRM_ERROR("Failed to bind bo to GART. ret %d\n", ret);
-               goto fail_map;
+               goto fail_alloc_gart;
        }
 
        queue->wptr_obj.gpu_addr = amdgpu_bo_gpu_offset(wptr_obj->obj);
@@ -89,6 +89,8 @@ mes_userq_create_wptr_mapping(struct amdgpu_device *adev,
        drm_exec_fini(&exec);
        return 0;
 
+fail_alloc_gart:
+       amdgpu_bo_unpin(wptr_obj->obj);
 fail_map:
        amdgpu_bo_unref(&wptr_obj->obj);
 fail_lock: