Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > 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> > --- > drivers/gpu/drm/i915/gt/intel_lrc.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c > index 43703efb36d1..1d209a8a95e8 100644 > --- a/drivers/gpu/drm/i915/gt/intel_lrc.c > +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c > @@ -2823,6 +2823,9 @@ static void __execlists_hold(struct i915_request *rq) > 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! */ > -- > 2.20.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx