summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSunil Khatri <sunil.khatri@amd.com>2026-03-03 19:55:57 +0300
committerAlex Deucher <alexander.deucher@amd.com>2026-03-07 00:25:50 +0300
commitf0e46fd06c3f7590b0f06aea3c877f441c2cbccc (patch)
tree7b70ff2e7f53c071d84d3887a400fdeb713e10b1
parentb7ac77468cda92eecae560b05f62f997a12fe2f2 (diff)
downloadlinux-f0e46fd06c3f7590b0f06aea3c877f441c2cbccc.tar.xz
drm/amdgpu/userq: remove queue from doorbell xarray
In case of failure in xa_alloc, remove the queue during clean up from the userq_doorbell_xa. Signed-off-by: Sunil Khatri <sunil.khatri@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
index 7c450350847d..2716811756d2 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c
@@ -865,6 +865,7 @@ amdgpu_userq_create(struct drm_file *filp, union drm_amdgpu_userq *args)
if (r) {
drm_file_err(uq_mgr->file, "Failed to allocate a queue id\n");
amdgpu_userq_fence_driver_free(queue);
+ xa_erase_irq(&adev->userq_doorbell_xa, index);
uq_funcs->mqd_destroy(queue);
kfree(queue);
r = -ENOMEM;