'prev_engine' was declared inside the output loop and checked in the
inner after at least 1 pass of either loop. The variable should be
declared outside both loops as it needs to be persistent across the
entire loop structure.

Fixes: e5e32171a2cf ("drm/i915/guc: Connect UAPI to GuC multi-lrc interface")
Signed-off-by: Matthew Brost <matthew.br...@intel.com>
---
 drivers/gpu/drm/i915/gem/i915_gem_context.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c 
b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index 347dab952e90..97d2ac22ae55 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -564,6 +564,7 @@ set_proto_ctx_engines_parallel_submit(struct 
i915_user_extension __user *base,
                container_of_user(base, typeof(*ext), base);
        const struct set_proto_ctx_engines *set = data;
        struct drm_i915_private *i915 = set->i915;
+       struct i915_engine_class_instance prev_engine;
        u64 flags;
        int err = 0, n, i, j;
        u16 slot, width, num_siblings;
@@ -629,7 +630,6 @@ set_proto_ctx_engines_parallel_submit(struct 
i915_user_extension __user *base,
        /* Create contexts / engines */
        for (i = 0; i < width; ++i) {
                intel_engine_mask_t current_mask = 0;
-               struct i915_engine_class_instance prev_engine;
 
                for (j = 0; j < num_siblings; ++j) {
                        struct i915_engine_class_instance ci;
-- 
2.33.1

Reply via email to