drm/i915: Wake up waiters after setting the WEDGED bit
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 21 Jul 2017 12:32:27 +0000 (13:32 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 27 Jul 2017 07:38:46 +0000 (09:38 +0200)
After setting the WEDGED bit, make sure that we do wake up waiters as
they may not be waiting for a request completion yet, just for its
execution.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20170721123238.16428-9-chris@chris-wilson.co.uk
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_gem.c

index 8da1489913c2072ce6ecdd271e5331b41d20fdaa..a01176dd4bae3085a2cecfcece1e8284cee84f99 100644 (file)
@@ -3094,10 +3094,12 @@ static int __i915_gem_set_wedged_BKL(void *data)
        struct intel_engine_cs *engine;
        enum intel_engine_id id;
 
-       set_bit(I915_WEDGED, &i915->gpu_error.flags);
        for_each_engine(engine, i915, id)
                engine_set_wedged(engine);
 
+       set_bit(I915_WEDGED, &i915->gpu_error.flags);
+       wake_up_all(&i915->gpu_error.reset_queue);
+
        return 0;
 }