From: Chris Wilson Date: Tue, 22 Oct 2019 22:33:16 +0000 (+0100) Subject: drm/i915/selftests: Release ctx->engine_mutex after iteration X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=e16302cb673c13193c582ebcd17965e189bbe72b;p=linux.git 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 --- diff --git a/drivers/gpu/drm/i915/selftests/i915_gem.c b/drivers/gpu/drm/i915/selftests/i915_gem.c index 84e7ca778b7b1..6d22567ad620a 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)