drm/amdgpu: clean up the amdgpu_cs_parser_bos
authorSunil Khatri <sunil.khatri@amd.com>
Tue, 3 Feb 2026 06:39:05 +0000 (12:09 +0530)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 Feb 2026 22:24:33 +0000 (17:24 -0500)
In low memory conditions, kmalloc can fail. In such conditions
unlock the mutex for a clean exit.

We do not need to amdgpu_bo_list_put as it's been handled in the
amdgpu_cs_parser_fini.

Fixes: 737da5363cc0 ("drm/amdgpu: update the functions to use amdgpu version of hmm")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/r/202602030017.7E0xShmH-lkp@intel.com/
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/amdgpu_cs.c

index d591dce..f3b5bcd 100644 (file)
@@ -892,8 +892,10 @@ static int amdgpu_cs_parser_bos(struct amdgpu_cs_parser *p,
                struct amdgpu_bo *bo = e->bo;
 
                e->range = amdgpu_hmm_range_alloc(NULL);
-               if (unlikely(!e->range))
-                       return -ENOMEM;
+               if (unlikely(!e->range)) {
+                       r = -ENOMEM;
+                       goto out_free_user_pages;
+               }
 
                r = amdgpu_ttm_tt_get_user_pages(bo, e->range);
                if (r)