[Intel-gfx] [PATCH 3/3] drm/i915: Prevent leaking of -EIO from i915_wait_request()
Chris Wilson
chris at chris-wilson.co.uk
Thu Dec 3 01:41:23 PST 2015
On Thu, Dec 03, 2015 at 10:14:54AM +0100, Daniel Vetter wrote:
> > @@ -4078,9 +4067,9 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file)
> > if (ret)
> > return ret;
> >
> > - ret = i915_gem_check_wedge(&dev_priv->gpu_error, false);
> > - if (ret)
> > - return ret;
> > + /* ABI: return -EIO if already wedged */
> > + if (i915_terminally_wedged(&dev_priv->gpu_error))
>
> Commit message says there's only one case, but I count two:
> - throttle here
> - waiting for ring space in case the gpu died meanwhile
That wasn't intended for ABI preservation. (If you look at the execbuffer
reporting -EIO that is from request_alloc). I hit a bug after
wait_for_ring space if I didn't abort when the hang was detected - we
walked off the end of the ring. That shouldn't be possible, I think I
papered over a bug rather than diagnose it correctly. :|
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list