drm/amdgpu: add missing unreserve on error
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 25 May 2021 12:46:55 +0000 (15:46 +0300)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 26 May 2021 03:44:29 +0000 (23:44 -0400)
The amdgpu_bo_unreserve() has to be done on the error path as well.

Fixes: 9e5d275319e224 ("drm/amdgpu: Move kfd_mem_attach outside reservation")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c

index 2b8b895..71ad9ba 100644 (file)
@@ -624,11 +624,10 @@ kfd_mem_attach_userptr(struct amdgpu_device *adev, struct kgd_mem *mem,
                                       AMDGPU_GEM_CREATE_PREEMPTIBLE,
                                       ttm_bo_type_sg, mem->bo->tbo.base.resv,
                                       &gobj);
+       amdgpu_bo_unreserve(mem->bo);
        if (ret)
                return ret;
 
-       amdgpu_bo_unreserve(mem->bo);
-
        *bo = gem_to_amdgpu_bo(gobj);
        (*bo)->parent = amdgpu_bo_ref(mem->bo);