OSDN Git Service

drm/i915: Do not allow unwedging following a failed driver initialisation
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 3 Jan 2019 21:33:40 +0000 (21:33 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 4 Jan 2019 09:06:00 +0000 (09:06 +0000)
If we declare the driver wedged during early initialisation, we leave
the driver in an undefined state (with respect to GEM execution). As
this leads to unexpected behaviour if we allow the user to unwedge the
device (through debugfs, and performed by igt at test start), do not.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190103213340.1669-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.c

index 4b1656d..60019e9 100644 (file)
@@ -3380,6 +3380,9 @@ bool i915_gem_unset_wedged(struct drm_i915_private *i915)
        if (!test_bit(I915_WEDGED, &i915->gpu_error.flags))
                return true;
 
+       if (!i915->gt.scratch) /* Never full initialised, recovery impossible */
+               return false;
+
        GEM_TRACE("start\n");
 
        /*