summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Russell <kent.russell@amd.com>2024-09-10 09:21:25 -0400
committerAlex Deucher <alexander.deucher@amd.com>2024-09-17 10:04:57 -0400
commit21d1d72475809734a5149ecfffdc7551503b042b (patch)
treeaaba63a564c1f8407713a840c6ce0e8d8b8d805b
parentae2c6d8b3b88c176dff92028941a4023f1b4cb91 (diff)
downloadlinux-21d1d72475809734a5149ecfffdc7551503b042b.tar.gz
linux-21d1d72475809734a5149ecfffdc7551503b042b.tar.bz2
linux-21d1d72475809734a5149ecfffdc7551503b042b.zip
drm/amdkfd: Move queue fs deletion after destroy check
We were removing the kernfs entry for queue info before checking if the queue could be destroyed. If it failed to get destroyed (e.g. during some GPU resets), then we would try to delete it later during pqm teardown, but the file was already removed. This led to a kernel WARN trying to remove size, gpuid and type. Move the remove to after the destroy check. Signed-off-by: Kent Russell <kent.russell@amd.com> Reviewed-by: Jonathan Kim <jonathan.kim@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c2
1 files changed, 1 insertions, 1 deletions
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 b439d4d0bd84..01b960b15274 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_process_queue_manager.c
@@ -517,7 +517,6 @@ int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid)
if (retval)
goto err_destroy_queue;
- kfd_procfs_del_queue(pqn->q);
dqm = pqn->q->device->dqm;
retval = dqm->ops.destroy_queue(dqm, &pdd->qpd, pqn->q);
if (retval) {
@@ -527,6 +526,7 @@ int pqm_destroy_queue(struct process_queue_manager *pqm, unsigned int qid)
if (retval != -ETIME)
goto err_destroy_queue;
}
+ kfd_procfs_del_queue(pqn->q);
kfd_queue_release_buffers(pdd, &pqn->q->properties);
pqm_clean_queue_resource(pqm, pqn);
uninit_queue(pqn->q);