]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/xe: Ensure all locks released in exec IOCTL
authorMatthew Brost <matthew.brost@intel.com>
Wed, 6 Nov 2024 22:49:44 +0000 (14:49 -0800)
committerLucas De Marchi <lucas.demarchi@intel.com>
Wed, 13 Nov 2024 15:49:14 +0000 (07:49 -0800)
In couple of places the wrong error handling goto was used to release
locks. Fix these to ensure all locks dropped on exec IOCTL errors.

Cc: Francois Dugast <francois.dugast@intel.com>
Fixes: d16ef1a18e39 ("drm/xe/exec: Switch hw engine group execution mode upon job submission")
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Francois Dugast <francois.dugast@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20241106224944.30130-1-matthew.brost@intel.com
(cherry picked from commit 9e7aacd8402b88394e6a83cb242901fde77a1773)
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
drivers/gpu/drm/xe/xe_exec.c

index 756b492f13b036a05faafa10ef1f0947bb44435a..31cca938956fc6fa10f958e899bb0c16807c57cc 100644 (file)
@@ -203,14 +203,14 @@ retry:
                write_locked = false;
        }
        if (err)
-               goto err_syncs;
+               goto err_hw_exec_mode;
 
        if (write_locked) {
                err = xe_vm_userptr_pin(vm);
                downgrade_write(&vm->lock);
                write_locked = false;
                if (err)
-                       goto err_hw_exec_mode;
+                       goto err_unlock_list;
        }
 
        if (!args->num_batch_buffer) {