OSDN Git Service

drm/i915/guc: Only assign guc_id.id when stealing guc_id
authorMatthew Brost <matthew.brost@intel.com>
Tue, 14 Dec 2021 17:04:55 +0000 (09:04 -0800)
committerJohn Harrison <John.C.Harrison@Intel.com>
Thu, 16 Dec 2021 03:09:21 +0000 (19:09 -0800)
Previously assigned whole guc_id structure (list, spin lock) which is
incorrect, only assign the guc_id.id.

Fixes: 0f7976506de61 ("drm/i915/guc: Rework and simplify locking")
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211214170500.28569-3-matthew.brost@intel.com
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c

index 09f8a28..e03b50e 100644 (file)
@@ -1935,7 +1935,7 @@ static int steal_guc_id(struct intel_guc *guc, struct intel_context *ce)
                GEM_BUG_ON(intel_context_is_parent(cn));
 
                list_del_init(&cn->guc_id.link);
-               ce->guc_id = cn->guc_id;
+               ce->guc_id.id = cn->guc_id.id;
 
                spin_lock(&cn->guc_state.lock);
                clr_context_registered(cn);