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 <philip.y...@amd.com>
Reviewed-by: Felix Kuehling <felix.kuehl...@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 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);
-- 
2.47.1

Reply via email to