Module Name: src
Committed By: riastradh
Date: Sat Feb 28 03:06:46 UTC 2015
Modified Files:
src/sys/external/bsd/drm2/dist/drm/i915: i915_dma.c
Log Message:
And another timeout return value mistake.
To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 src/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c
diff -u src/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c:1.13 src/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c:1.14
--- src/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c:1.13 Wed Feb 25 13:06:13 2015
+++ src/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c Sat Feb 28 03:06:46 2015
@@ -816,6 +816,12 @@ static int i915_wait_irq(struct drm_devi
&dev_priv->irq_lock,
3 * DRM_HZ,
READ_BREADCRUMB(dev_priv) >= irq_nr);
+ if (ret < 0) /* Failure: return negative error as is. */
+ ;
+ else if (ret == 0) /* Timed out: return -EBUSY like Linux. */
+ ret = -EBUSY;
+ else /* Succeeded (ret > 0): return 0. */
+ ret = 0;
spin_unlock_irqrestore(&dev_priv->irq_lock, flags);
#else
DRM_WAIT_ON(ret, ring->irq_queue, 3 * HZ,