Source-Changes-HG archive

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

[src/trunk]: src/sys/external/bsd/drm2/dist/drm/i915 And another timeout retu...



details:   https://anonhg.NetBSD.org/src/rev/c0642806c67c
branches:  trunk
changeset: 336392:c0642806c67c
user:      riastradh <riastradh%NetBSD.org@localhost>
date:      Sat Feb 28 03:06:46 2015 +0000

description:
And another timeout return value mistake.

diffstat:

 sys/external/bsd/drm2/dist/drm/i915/i915_dma.c |  6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diffs (16 lines):

diff -r ac371490c3cb -r c0642806c67c sys/external/bsd/drm2/dist/drm/i915/i915_dma.c
--- a/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c    Sat Feb 28 03:05:09 2015 +0000
+++ b/sys/external/bsd/drm2/dist/drm/i915/i915_dma.c    Sat Feb 28 03:06:46 2015 +0000
@@ -816,6 +816,12 @@
                    &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,



Home | Main Index | Thread Index | Old Index