This is a note to let you know that I've just added the patch titled drm/i915/gt: Ignore repeated attempts to suspend request flow across reset to the 5.9-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: drm-i915-gt-ignore-repeated-attempts-to-suspend-request-flow-across-reset.patch and it can be found in the queue-5.9 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 5419d93ffd774127b195b8543b063b2b4fa5aea9 Mon Sep 17 00:00:00 2001 From: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri, 4 Dec 2020 15:12:31 +0000 Subject: drm/i915/gt: Ignore repeated attempts to suspend request flow across reset From: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> commit 5419d93ffd774127b195b8543b063b2b4fa5aea9 upstream. Before reseting the engine, we suspend the execution of the guilty request, so that we can continue execution with a new context while we slowly compress the captured error state for the guilty context. However, if the reset fails, we will promptly attempt to reset the same request again, and discover the ongoing capture. Ignore the second attempt to suspend and capture the same request. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1168 Fixes: 32ff621fd744 ("drm/i915/gt: Allow temporary suspension of inflight requests") Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v5.7+ Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Link: https://patchwork.freedesktop.org/patch/msgid/20201204151234.19729-1-chris@xxxxxxxxxxxxxxxxxx (cherry picked from commit b969540500bce60cf1cdfff5464388af32b9a553) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/gt/intel_lrc.c | 3 +++ 1 file changed, 3 insertions(+) --- a/drivers/gpu/drm/i915/gt/intel_lrc.c +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c @@ -2788,6 +2788,9 @@ static void __execlists_hold(struct i915 static bool execlists_hold(struct intel_engine_cs *engine, struct i915_request *rq) { + if (i915_request_on_hold(rq)) + return false; + spin_lock_irq(&engine->active.lock); if (i915_request_completed(rq)) { /* too late! */ Patches currently in stable-queue which might be from chris@xxxxxxxxxxxxxxxxxx are queue-5.9/drm-i915-gt-declare-gen9-has-64-mocs-entries.patch queue-5.9/drm-i915-gt-cancel-the-preemption-timeout-on-responding-to-it.patch queue-5.9/drm-i915-gem-propagate-error-from-cancelled-submit-due-to-context-closure.patch queue-5.9/drm-i915-gt-ignore-repeated-attempts-to-suspend-request-flow-across-reset.patch