From: Lu Yao <[email protected]>

If dma_fence_chain_find_seqno() failed once, 'err' will store val in
the following loop. May causing returns '-EINVAL' even though that
entry never called dma_fence_chain_find_seqno() at all.

Fixes: 13149e8bafc4 ("drm/i915: add syncobj timeline support")
Signed-off-by: Lu Yao <[email protected]>
---
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c 
b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
index 1b7f5bf13e50..c41e1b9a40bc 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
@@ -2805,7 +2805,6 @@ add_timeline_fence_array(struct i915_execbuffer *eb,
        u64 __user *user_values;
        struct eb_fence *f;
        u64 nfences;
-       int err = 0;
 
        nfences = timeline_fences->fence_count;
        if (!nfences)
@@ -2843,6 +2842,7 @@ add_timeline_fence_array(struct i915_execbuffer *eb,
                struct drm_syncobj *syncobj;
                struct dma_fence *fence = NULL;
                u64 point;
+               int err = 0;
 
                if (__copy_from_user(&user_fence,
                                     user_fences++,
-- 
2.25.1

Reply via email to