Skip to content

Commit

Permalink
drm/i915/gt: Do release kernel context if breadcrumb measure fails
Browse files Browse the repository at this point in the history
Commit fb5970d ("drm/i915/gt: Use the kernel_context to measure the
breadcrumb size") reordered some operations inside engine_init_common()
and added an error unwind path to that function.  In that path, a
reference to a kernel context candidate supposed to be released on error
was put, but the context, pinned when created, was not unpinned first.
Fix it by replacing intel_context_put() with destroy_pinned_context()
introduced later by commit b436a5f ("drm/i915/gt: Track all timelines
created using the HWSP").

Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210507144251.376538-1-janusz.krzysztofik@linux.intel.com
  • Loading branch information
Janusz Krzysztofik authored and Tvrtko Ursulin committed May 10, 2021
1 parent ae9faeb commit e49a8b2
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/gpu/drm/i915/gt/intel_engine_cs.c
Original file line number Diff line number Diff line change
Expand Up @@ -898,7 +898,7 @@ static int engine_init_common(struct intel_engine_cs *engine)
return 0;

err_context:
intel_context_put(ce);
destroy_pinned_context(ce);
return ret;
}

Expand Down

0 comments on commit e49a8b2

Please sign in to comment.