aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 726c2ccd674c..5a0fbe59dd5b 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2000,7 +2000,6 @@ i915_do_wait_request(struct drm_device *dev, uint32_t seqno,
2000 trace_i915_gem_request_wait_begin(dev, seqno); 2000 trace_i915_gem_request_wait_begin(dev, seqno);
2001 2001
2002 ring->waiting_seqno = seqno; 2002 ring->waiting_seqno = seqno;
2003 ret = -ENODEV;
2004 if (ring->irq_get(ring)) { 2003 if (ring->irq_get(ring)) {
2005 if (interruptible) 2004 if (interruptible)
2006 ret = wait_event_interruptible(ring->irq_queue, 2005 ret = wait_event_interruptible(ring->irq_queue,
@@ -2012,7 +2011,10 @@ i915_do_wait_request(struct drm_device *dev, uint32_t seqno,
2012 || atomic_read(&dev_priv->mm.wedged)); 2011 || atomic_read(&dev_priv->mm.wedged));
2013 2012
2014 ring->irq_put(ring); 2013 ring->irq_put(ring);
2015 } 2014 } else if (wait_for(i915_seqno_passed(ring->get_seqno(ring),
2015 seqno) ||
2016 atomic_read(&dev_priv->mm.wedged), 3000))
2017 ret = -EBUSY;
2016 ring->waiting_seqno = 0; 2018 ring->waiting_seqno = 0;
2017 2019
2018 trace_i915_gem_request_wait_end(dev, seqno); 2020 trace_i915_gem_request_wait_end(dev, seqno);