drm/amdgpu/userq: unmap queues amdgpu_userq_mgr_fini()
authorAlex Deucher <alexander.deucher@amd.com>
Wed, 16 Apr 2025 18:35:05 +0000 (14:35 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 22 Apr 2025 12:51:45 +0000 (08:51 -0400)
This was missed when the map and unmap were split out
of the mqd create and destroy functions.

Fixes: b0db33c8c50f ("drm/amdgpu/userq: rework front end call sequence")
Reviewed-by: Prike Liang <Prike.Liang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_userqueue.c

index 712fd34740a0c05fe32ae5f3f407b07548505f47..d821e5d57417105c209adb4e9952445720cab8d7 100644 (file)
@@ -779,8 +779,10 @@ void amdgpu_userq_mgr_fini(struct amdgpu_userq_mgr *userq_mgr)
        cancel_delayed_work(&userq_mgr->resume_work);
 
        mutex_lock(&userq_mgr->userq_mutex);
-       idr_for_each_entry(&userq_mgr->userq_idr, queue, queue_id)
+       idr_for_each_entry(&userq_mgr->userq_idr, queue, queue_id) {
+               amdgpu_userqueue_unmap_helper(userq_mgr, queue);
                amdgpu_userqueue_cleanup(userq_mgr, queue, queue_id);
+       }
        mutex_lock(&adev->userq_mutex);
        list_for_each_entry_safe(uqm, tmp, &adev->userq_mgr_list, list) {
                if (uqm == userq_mgr) {