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 4b1656d2482e1bfc23f4cbd702e93ef29e3a6595..60019e9291cea0d384576c2b7da9be90ca29b5a5 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");
 
        /*