aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0932-drm-amdgpu-hold-reference-to-fences-in-amdgpu_sa_bo_.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/files/0932-drm-amdgpu-hold-reference-to-fences-in-amdgpu_sa_bo_.patch')
-rw-r--r--common/recipes-kernel/linux/files/0932-drm-amdgpu-hold-reference-to-fences-in-amdgpu_sa_bo_.patch52
1 files changed, 0 insertions, 52 deletions
diff --git a/common/recipes-kernel/linux/files/0932-drm-amdgpu-hold-reference-to-fences-in-amdgpu_sa_bo_.patch b/common/recipes-kernel/linux/files/0932-drm-amdgpu-hold-reference-to-fences-in-amdgpu_sa_bo_.patch
deleted file mode 100644
index b68503f4..00000000
--- a/common/recipes-kernel/linux/files/0932-drm-amdgpu-hold-reference-to-fences-in-amdgpu_sa_bo_.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 6afa3557e6fc20e20c5f1d34bcc35fb42f76f601 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Nicolai=20H=C3=A4hnle?= <nicolai.haehnle@amd.com>
-Date: Fri, 5 Feb 2016 10:59:43 -0500
-Subject: [PATCH 0932/1565] drm/amdgpu: hold reference to fences in
- amdgpu_sa_bo_new (v2)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-An arbitrary amount of time can pass between spin_unlock and
-fence_wait_any_timeout, so we need to ensure that nobody frees the
-fences from under us.
-
-A stress test (rapidly starting and killing hundreds of glxgears
-instances) ran into a deadlock in fence_wait_any_timeout after
-about an hour, and this race condition appears to be a plausible
-cause.
-
-v2: agd: rebase on upstream
-
-Signed-off-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Reviewed-by: Christian König <christian.koenig@amd.com>
-Cc: stable@vger.kernel.org
----
- drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
-index 8b88edb..ca72a2e 100644
---- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
-+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sa.c
-@@ -354,12 +354,15 @@ int amdgpu_sa_bo_new(struct amdgpu_sa_manager *sa_manager,
-
- for (i = 0, count = 0; i < AMDGPU_MAX_RINGS; ++i)
- if (fences[i])
-- fences[count++] = fences[i];
-+ fences[count++] = fence_get(fences[i]);
-
- if (count) {
- spin_unlock(&sa_manager->wq.lock);
- t = fence_wait_any_timeout(fences, count, false,
- MAX_SCHEDULE_TIMEOUT);
-+ for (i = 0; i < count; ++i)
-+ fence_put(fences[i]);
-+
- r = (t > 0) ? 0 : t;
- spin_lock(&sa_manager->wq.lock);
- } else {
---
-1.9.1
-