From 0d6f45005e8cb4b5bff20da9a6c2a6332ca878da Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 26 Apr 2013 08:50:27 +0100 Subject: [PATCH] drm/i915: Suppress spurious EIO when moving away from the GPU domain --- drivers/gpu/drm/i915/i915_gem.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index e0c3ada..0e48b3b 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c @@ -2732,7 +2732,7 @@ i915_gem_object_wait_fence(struct drm_i915_gem_object *obj) { if (obj->last_fenced_seqno) { int ret = i915_wait_seqno(obj->ring, obj->last_fenced_seqno); - if (ret) + if (ret && ret != -EIO) return ret; obj->last_fenced_seqno = 0; @@ -3141,7 +3141,7 @@ i915_gem_object_set_to_gtt_domain(struct drm_i915_gem_object *obj, bool write) return 0; ret = i915_gem_object_wait_rendering(obj, !write); - if (ret) + if (ret && ret != -EIO) return ret; i915_gem_object_flush_cpu_write_domain(obj); @@ -3382,7 +3382,7 @@ i915_gem_object_finish_gpu(struct drm_i915_gem_object *obj) return 0; ret = i915_gem_object_wait_rendering(obj, false); - if (ret) + if (ret && ret != -EIO) return ret; /* Ensure that we invalidate the GPU's caches and TLBs. */ @@ -3406,7 +3406,7 @@ i915_gem_object_set_to_cpu_domain(struct drm_i915_gem_object *obj, bool write) return 0; ret = i915_gem_object_wait_rendering(obj, !write); - if (ret) + if (ret && ret != -EIO) return ret; i915_gem_object_flush_gtt_write_domain(obj); -- 1.7.10.4