diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/1299-drm-amdkfd-Fix-destroy-queue-failure-path.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/1299-drm-amdkfd-Fix-destroy-queue-failure-path.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/1299-drm-amdkfd-Fix-destroy-queue-failure-path.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/1299-drm-amdkfd-Fix-destroy-queue-failure-path.patch new file mode 100644 index 00000000..eb677537 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/1299-drm-amdkfd-Fix-destroy-queue-failure-path.patch @@ -0,0 +1,37 @@ +From c15ec9a9f52449675aeb065880a9575f243995de Mon Sep 17 00:00:00 2001 +From: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com> +Date: Mon, 19 Jun 2017 14:41:42 -0400 +Subject: [PATCH 1299/4131] drm/amdkfd: Fix destroy queue failure path + +Even if unmmap queue times out during destroy, delete the queue +completely. This ensures process_queue_manager and qcm_process_device +queue list are consistent. + +BUG: SWDEV-110763 + +Change-Id: I426c7f809021063d9aa445b1256861433e53b00c +Signed-off-by: Harish Kasiviswanathan <Harish.Kasiviswanathan@amd.com> +--- + drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c +index 0f82684..5394866 100644 +--- a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c ++++ b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c +@@ -335,11 +335,11 @@ int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid) + if (pqn->q) { + dqm = pqn->q->device->dqm; + kfree(pqn->q->properties.cu_mask); ++ pqn->q->properties.cu_mask = NULL; + retval = dqm->ops.destroy_queue(dqm, &pdd->qpd, pqn->q); + if (retval != 0) { + if (retval == -ETIME) + pdd->reset_wavefronts = true; +- return retval; + } + uninit_queue(pqn->q); + } +-- +2.7.4 + |