projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
d6beadc
)
drm/xe: Fix loop in vm_bind_ioctl_ops_unwind
author
Matthew Brost
<matthew.brost@intel.com>
Thu, 1 Feb 2024 17:55:32 +0000
(09:55 -0800)
committer
Matthew Brost
<matthew.brost@intel.com>
Fri, 2 Feb 2024 02:42:39 +0000
(18:42 -0800)
The logic for the unwind loop is incorrect resulting in an infinite
loop. Fix to unwind to go from the last operations list to he first.
Fixes: 617eebb9c480 ("drm/xe: Fix array of binds")
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link:
https://patchwork.freedesktop.org/patch/msgid/20240201175532.2303168-1-matthew.brost@intel.com
drivers/gpu/drm/xe/xe_vm.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/xe/xe_vm.c
b/drivers/gpu/drm/xe/xe_vm.c
index c107f7f414d88c6554b3d7ae09b422a1d92665f0..9c1c68a2fff7348439721a4f7f1945f0e71a64f7 100644
(file)
--- a/
drivers/gpu/drm/xe/xe_vm.c
+++ b/
drivers/gpu/drm/xe/xe_vm.c
@@
-2669,7
+2669,7
@@
static void vm_bind_ioctl_ops_unwind(struct xe_vm *vm,
{
int i;
- for (i = num_ops_list - 1; i
; ++
i) {
+ for (i = num_ops_list - 1; i
>= 0; --
i) {
struct drm_gpuva_ops *__ops = ops[i];
struct drm_gpuva_op *__op;