Add the missing error handling for xa_store() call in the function
amdgpu_userq_fence_driver_alloc().

Signed-off-by: Arunpravin Paneer Selvam <[email protected]>
Reviewed-by: Christian König <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c
index 56bd870ff15d..9ca1910d7a62 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c
@@ -102,9 +102,11 @@ int amdgpu_userq_fence_driver_alloc(struct amdgpu_device 
*adev,
        get_task_comm(fence_drv->timeline_name, current);
 
        xa_lock_irqsave(&adev->userq_xa, flags);
-       __xa_store(&adev->userq_xa, userq->doorbell_index,
-                  fence_drv, GFP_KERNEL);
+       r = xa_err(__xa_store(&adev->userq_xa, userq->doorbell_index,
+                             fence_drv, GFP_KERNEL));
        xa_unlock_irqrestore(&adev->userq_xa, flags);
+       if (r)
+               goto free_seq64;
 
        userq->fence_drv = fence_drv;
 
-- 
2.34.1

Reply via email to