From c15ec9a9f52449675aeb065880a9575f243995de Mon Sep 17 00:00:00 2001 From: Harish Kasiviswanathan 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 --- 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