aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2017-10-31 04:36:13 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-10-31 17:54:13 -0400
commita695e43712242c354748e9bae5d137d4337a7694 (patch)
tree743be2e75deb75b3a44c71b9efa0ab1ac1492164 /drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
parent4d98e5ee6084f6d7bc578c5d5f86de7156aaa4cb (diff)
drm/amdgpu: fix error handling in amdgpu_bo_do_create
The bo structure is freed up in case of an error, so we can't do any accounting if that happens. Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> CC: stable@vger.kernel.org Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_object.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
index 8b4ed8a98a18..ea25164e7f4b 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
@@ -369,6 +369,9 @@ static int amdgpu_bo_do_create(struct amdgpu_device *adev,
369 r = ttm_bo_init_reserved(&adev->mman.bdev, &bo->tbo, size, type, 369 r = ttm_bo_init_reserved(&adev->mman.bdev, &bo->tbo, size, type,
370 &bo->placement, page_align, !kernel, NULL, 370 &bo->placement, page_align, !kernel, NULL,
371 acc_size, sg, resv, &amdgpu_ttm_bo_destroy); 371 acc_size, sg, resv, &amdgpu_ttm_bo_destroy);
372 if (unlikely(r != 0))
373 return r;
374
372 bytes_moved = atomic64_read(&adev->num_bytes_moved) - 375 bytes_moved = atomic64_read(&adev->num_bytes_moved) -
373 initial_bytes_moved; 376 initial_bytes_moved;
374 if (adev->mc.visible_vram_size < adev->mc.real_vram_size && 377 if (adev->mc.visible_vram_size < adev->mc.real_vram_size &&
@@ -378,9 +381,6 @@ static int amdgpu_bo_do_create(struct amdgpu_device *adev,
378 else 381 else
379 amdgpu_cs_report_moved_bytes(adev, bytes_moved, 0); 382 amdgpu_cs_report_moved_bytes(adev, bytes_moved, 0);
380 383
381 if (unlikely(r != 0))
382 return r;
383
384 if (kernel) 384 if (kernel)
385 bo->tbo.priority = 1; 385 bo->tbo.priority = 1;
386 386