From: Ben Goz <ben.goz@xxxxxxx> * re-execute runlist on kernel queues destruction. * delete kernel queues from pqm's queues list on pqm unint Signed-off-by: Ben Goz <ben.goz@xxxxxxx> Signed-off-by: Oded Gabbay <oded.gabbay@xxxxxxx> --- drivers/gpu/hsa/radeon/kfd_device_queue_manager.c | 4 ++++ drivers/gpu/hsa/radeon/kfd_process_queue_manager.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/hsa/radeon/kfd_device_queue_manager.c b/drivers/gpu/hsa/radeon/kfd_device_queue_manager.c index 4c53e57..12b8b33 100644 --- a/drivers/gpu/hsa/radeon/kfd_device_queue_manager.c +++ b/drivers/gpu/hsa/radeon/kfd_device_queue_manager.c @@ -759,6 +759,10 @@ static void destroy_kernel_queue_cpsch(struct device_queue_manager *dqm, { BUG_ON(!dqm || !kq); + pr_debug("kfd: In %s\n", __func__); + + dqm->destroy_queues(dqm); + mutex_lock(&dqm->lock); list_del(&kq->list); dqm->queue_count--; diff --git a/drivers/gpu/hsa/radeon/kfd_process_queue_manager.c b/drivers/gpu/hsa/radeon/kfd_process_queue_manager.c index 89461ab..5d7c46d 100644 --- a/drivers/gpu/hsa/radeon/kfd_process_queue_manager.c +++ b/drivers/gpu/hsa/radeon/kfd_process_queue_manager.c @@ -273,10 +273,10 @@ int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid) if (retval != 0) return retval; - list_del(&pqn->process_queue_list); uninit_queue(pqn->q); } + list_del(&pqn->process_queue_list); kfree(pqn); clear_bit(qid, pqm->queue_slot_bitmap); -- 1.9.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel