]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/xe: Drop VM dma-resv lock on xe_sync_in_fence_get failure in exec IOCTL
authorMatthew Brost <matthew.brost@intel.com>
Tue, 5 Nov 2024 04:35:24 +0000 (20:35 -0800)
committerLucas De Marchi <lucas.demarchi@intel.com>
Tue, 5 Nov 2024 23:40:12 +0000 (15:40 -0800)
Upon failure all locks need to be dropped before returning to the user.

Fixes: 58480c1c912f ("drm/xe: Skip VMAs pin when requesting signal to the last XE_EXEC")
Cc: <stable@vger.kernel.org>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Tejas Upadhyay <tejas.upadhyay@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241105043524.4062774-3-matthew.brost@intel.com
(cherry picked from commit 7d1a4258e602ffdce529f56686925034c1b3b095)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/xe_exec.c

index 6de12f91b865b869b2d81e21b1aa273b93ed1439..756b492f13b036a05faafa10ef1f0947bb44435a 100644 (file)
@@ -224,6 +224,7 @@ retry:
                        fence = xe_sync_in_fence_get(syncs, num_syncs, q, vm);
                        if (IS_ERR(fence)) {
                                err = PTR_ERR(fence);
+                               xe_vm_unlock(vm);
                                goto err_unlock_list;
                        }
                        for (i = 0; i < num_syncs; i++)