From: Philip Yang Date: Thu, 20 Feb 2025 21:02:13 +0000 (-0500) Subject: drm/amdkfd: Fix pqm_destroy_queue race with GPU reset X-Git-Tag: block-6.15-20250403~41^2~12^2~89 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=7919b4cad5545ed93778f11881ceee72e4dbed66;p=linux-block.git drm/amdkfd: Fix pqm_destroy_queue race with GPU reset If GPU in reset, destroy_queue return -EIO, pqm_destroy_queue should delete the queue from process_queue_list and free the resource. Signed-off-by: Philip Yang Reviewed-by: Felix Kuehling Signed-off-by: Alex Deucher --- 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 93647ee27325..662c595ce783 100644 --- a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c +++ b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c @@ -548,7 +548,7 @@ int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid) pr_err("Pasid 0x%x destroy queue %d failed, ret %d\n", pdd->pasid, pqn->q->properties.queue_id, retval); - if (retval != -ETIME) + if (retval != -ETIME && retval != -EIO) goto err_destroy_queue; } kfd_procfs_del_queue(pqn->q);