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 Make sure wedged actuall...



details:   https://anonhg.NetBSD.org/src/rev/5039230f9595
branches:  trunk
changeset: 336461:5039230f9595
user:      riastradh <riastradh%NetBSD.org@localhost>
date:      Mon Mar 02 17:30:17 2015 +0000

description:
Make sure wedged actually gets set on all code paths.

Otherwise GCC helpfully realizes we're invoking undefined behaviour
and optimizes away the possibility that this routine will return
success, without saying a word about it.

diffstat:

 sys/external/bsd/drm2/dist/drm/i915/i915_gem.c |  4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diffs (14 lines):

diff -r c8a55e401994 -r 5039230f9595 sys/external/bsd/drm2/dist/drm/i915/i915_gem.c
--- a/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c    Mon Mar 02 16:16:08 2015 +0000
+++ b/sys/external/bsd/drm2/dist/drm/i915/i915_gem.c    Mon Mar 02 17:30:17 2015 +0000
@@ -1409,8 +1409,8 @@
        nanotime(&before);
        spin_lock(&dev_priv->irq_lock);
 #define        EXIT_COND                                                             \
-       (((reset_counter != atomic_read(&dev_priv->gpu_error.reset_counter))  \
-           ? wedged = true : false) ||                                       \
+       ((wedged = (reset_counter !=                                          \
+               atomic_read(&dev_priv->gpu_error.reset_counter))) ||          \
            i915_seqno_passed(ring->get_seqno(ring, false),                   \
                seqno))
 



Home | Main Index | Thread Index | Old Index