diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2094-drm-amdgpu-fix-error-handling-in-amdgpu_bo_do_create.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2094-drm-amdgpu-fix-error-handling-in-amdgpu_bo_do_create.patch | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2094-drm-amdgpu-fix-error-handling-in-amdgpu_bo_do_create.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2094-drm-amdgpu-fix-error-handling-in-amdgpu_bo_do_create.patch new file mode 100644 index 00000000..f39a78ea --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/2094-drm-amdgpu-fix-error-handling-in-amdgpu_bo_do_create.patch @@ -0,0 +1,51 @@ +From e2378158e260f0657326e05e4d218cc364062caf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> +Date: Tue, 31 Oct 2017 09:36:13 +0100 +Subject: [PATCH 2094/4131] drm/amdgpu: fix error handling in + amdgpu_bo_do_create +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +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 + + Conflicts: + drivers/gpu/drm/amd/amdgpu/amdgpu_object.c + +Change-Id: Id381cf156bb80d28405f95320385cb5e11a25d57 +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 6 +++--- + 1 file 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 2bddb7a..e44cd90 100755 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +@@ -394,6 +394,9 @@ static int amdgpu_bo_do_create(struct amdgpu_device *adev, + r = ttm_bo_init_reserved(&adev->mman.bdev, &bo->tbo, size, type, + &bo->placement, page_align, !kernel, NULL, + acc_size, sg, resv, &amdgpu_ttm_bo_destroy); ++ if (unlikely(r != 0)) ++ return r; ++ + bytes_moved = atomic64_read(&adev->num_bytes_moved) - + initial_bytes_moved; + if (adev->mc.visible_vram_size < adev->mc.real_vram_size && +@@ -403,9 +406,6 @@ static int amdgpu_bo_do_create(struct amdgpu_device *adev, + else + amdgpu_cs_report_moved_bytes(adev, bytes_moved, 0); + +- if (unlikely(r != 0)) +- return r; +- + if (domain & AMDGPU_GEM_DOMAIN_DGMA && adev->ssg.enabled) + bo->tbo.ssg_can_map = true; + +-- +2.7.4 + |