]> git.ipfire.org Git - thirdparty/kernel/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 15:58:17 +0000 (11:58 -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>
(cherry picked from commit d8145c437ccdc2d91c579787290f82788172bea0)

drivers/gpu/drm/amd/amdgpu/mes_userqueue.c

index 5b4121ddc78c6f3aa0915fc253a48bab373e3c17..026940fad524d6d0e7069c0dc5f3745e730acade 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: