As we play games in set-to-domain in order to first perform a lockless wait on outstanding rendering, it is possible that we report a spurious GPU hang during that wait. After reclaiming the lock we then want to do a more thorough test as to whether the hang is indeed fatal and what the correct error code we should return. This naturally falls out of the locked wait we perform as the second task in set-to-domain. References: https://bugs.freedesktop.org/show_bug.cgi?id=65495 Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk> --- drivers/gpu/drm/i915/i915_gem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 773c8f4..70fe8a1 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -1214,7 +1214,7 @@ i915_gem_set_domain_ioctl(struct drm_device *dev, void *data, * to catch cases where we are gazumped. */ ret = i915_gem_object_wait_rendering__nonblocking(obj, !write_domain); - if (ret) + if (ret && ret != -EIO) goto unref; if (read_domains & I915_GEM_DOMAIN_GTT) { -- 1.7.10.4