diff options
author | Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com> | 2021-05-07 16:42:51 +0200 |
---|---|---|
committer | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2021-05-10 10:19:43 +0100 |
commit | e49a8b2cc8522a836ec2ade3d8e4dc02de6f4d67 (patch) | |
tree | 19128155262ea38836e5acfa35c063521d8b4680 | |
parent | ae9faeb9a2c9019953590dcf71312f70ce53c7d0 (diff) | |
download | linux-stable-e49a8b2cc8522a836ec2ade3d8e4dc02de6f4d67.tar.gz linux-stable-e49a8b2cc8522a836ec2ade3d8e4dc02de6f4d67.tar.bz2 linux-stable-e49a8b2cc8522a836ec2ade3d8e4dc02de6f4d67.zip |
drm/i915/gt: Do release kernel context if breadcrumb measure fails
Commit fb5970da1b42 ("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 b436a5f8b6c8 ("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
-rw-r--r-- | drivers/gpu/drm/i915/gt/intel_engine_cs.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/gt/intel_engine_cs.c b/drivers/gpu/drm/i915/gt/intel_engine_cs.c index 6dbdbde00f14..eba2da9679a5 100644 --- a/drivers/gpu/drm/i915/gt/intel_engine_cs.c +++ b/drivers/gpu/drm/i915/gt/intel_engine_cs.c @@ -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; } |