On Wed, Sep 1, 2021 at 5:15 PM Janusz Krzysztofik <janusz.krzysztofik@xxxxxxxxxxxxxxx> wrote: > > GPU wedged flag now set on driver unregister to prevent from further > using the GPU can be then cleared unintentionally when calling > __intel_gt_unset_wedged() still before the flag is finally marked > unrecoverable. We need to have it marked unrecoverable earlier. > Implement that by replacing a call to intel_gt_set_wedged() in > intel_gt_driver_unregister() with intel_gt_set_wedged_on_fini(). > > With the above in place, intel_gt_set_wedged_on_fini() is now called > twice on driver remove, second time from __intel_gt_disable(). This > seems harmless, while dropping intel_gt_set_wedged_on_fini() from > __intel_gt_disable() proved to break some driver probe error unwind > paths as well as mock selftest exit path. > > Signed-off-by: Janusz Krzysztofik <janusz.krzysztofik@xxxxxxxxxxxxxxx> > Cc: Michał Winiarski <michal.winiarski@xxxxxxxxx> All gt/core/gem patches must cc: dri-devel. Please resend, plus anything else that matches, and please share in your team apparently the memo didnt get through (this is the process since half a year now). -Daniel > --- > drivers/gpu/drm/i915/gt/intel_gt.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c b/drivers/gpu/drm/i915/gt/intel_gt.c > index 62d40c986642..173b53cb2b47 100644 > --- a/drivers/gpu/drm/i915/gt/intel_gt.c > +++ b/drivers/gpu/drm/i915/gt/intel_gt.c > @@ -750,7 +750,7 @@ void intel_gt_driver_unregister(struct intel_gt *gt) > * all in-flight requests so that we can quickly unbind the active > * resources. > */ > - intel_gt_set_wedged(gt); > + intel_gt_set_wedged_on_fini(gt); > > /* Scrub all HW state upon release */ > with_intel_runtime_pm(gt->uncore->rpm, wakeref) > -- > 2.25.1 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch