aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
diff options
context:
space:
mode:
authorPhilip Yang <[email protected]>2022-04-29 00:17:38 +0000
committerAlex Deucher <[email protected]>2022-05-04 13:53:40 +0000
commit068421b1730fe65fb4f73921fdb78c080b0c62f4 (patch)
treeb3cb41aab8afd9a3df964bf545853158f7630f46 /drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
parentdrm/amdgpu: add hdp v6_0_0 ip headers v4 (diff)
downloadkernel-068421b1730fe65fb4f73921fdb78c080b0c62f4.tar.gz
kernel-068421b1730fe65fb4f73921fdb78c080b0c62f4.zip
drm/amdgpu: Free user pages if kvmalloc_array fails
To cleanup the BOs of bo_list which have got user pages. Signed-off-by: Philip Yang <[email protected]> Reviewed-by: Christian König <[email protected]> Reviewed-by: Felix Kuehling <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
index 67bd506fa141..e05ace22968b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
@@ -543,7 +543,8 @@ static int amdgpu_cs_parser_bos(struct amdgpu_cs_parser *p,
GFP_KERNEL | __GFP_ZERO);
if (!e->user_pages) {
DRM_ERROR("kvmalloc_array failure\n");
- return -ENOMEM;
+ r = -ENOMEM;
+ goto out_free_user_pages;
}
r = amdgpu_ttm_tt_get_user_pages(bo, e->user_pages);