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,

Reply via email to