From e16302cb673c13193c582ebcd17965e189bbe72b Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Tue, 22 Oct 2019 23:33:16 +0100 Subject: [PATCH] drm/i915/selftests: Release ctx->engine_mutex after iteration A lock once taken must be released again. Fixes: c31c9e82ee8a ("drm/i915/selftests: Teach switch_to_context() to use the context") Signed-off-by: Chris Wilson Cc: Tvrtko Ursulin Cc: Mika Kuoppala Cc: Matthew Auld Reviewed-by: Tvrtko Ursulin Link: https://patchwork.freedesktop.org/patch/msgid/20191022223316.12662-1-chris@chris-wilson.co.uk --- drivers/gpu/drm/i915/selftests/i915_gem.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/i915/selftests/i915_gem.c b/drivers/gpu/drm/i915/selftests/i915_gem.c index 84e7ca778b7b..6d22567ad620 100644 --- a/drivers/gpu/drm/i915/selftests/i915_gem.c +++ b/drivers/gpu/drm/i915/selftests/i915_gem.c @@ -19,18 +19,22 @@ static int switch_to_context(struct i915_gem_context *ctx) { struct i915_gem_engines_iter it; struct intel_context *ce; + int err = 0; for_each_gem_engine(ce, i915_gem_context_lock_engines(ctx), it) { struct i915_request *rq; rq = intel_context_create_request(ce); - if (IS_ERR(rq)) - return PTR_ERR(rq); + if (IS_ERR(rq)) { + err = PTR_ERR(rq); + break; + } i915_request_add(rq); } + i915_gem_context_unlock_engines(ctx); - return 0; + return err; } static void trash_stolen(struct drm_i915_private *i915) -- 2.11.0