[PATCH] drm/i915: Ignore EIO whilst waiting without the lock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux