OSDN Git Service

hw/omap_dss.c: Fix !-vs-~ bug in handling DISPC_CONTROL
authorPeter Maydell <peter.maydell@linaro.org>
Wed, 9 Nov 2011 17:20:06 +0000 (17:20 +0000)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 9 Nov 2011 18:06:20 +0000 (12:06 -0600)
Fix a bug revealed by a coverity scan (see bug 887883) which meant
that we would never print the warning about unpredictable behaviour
if a nonexistent overlay is enabled.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
hw/omap_dss.c

index c8387a8..b4a8b4c 100644 (file)
@@ -389,10 +389,11 @@ static void omap_disc_write(void *opaque, target_phys_addr_t addr,
         s->dig.enable = (value >> 1) & 1;
         s->lcd.enable = (value >> 0) & 1;
         if (value & (1 << 12))                 /* OVERLAY_OPTIMIZATION */
-            if (~((s->dispc.l[1].attr | s->dispc.l[2].attr) & 1))
-                 fprintf(stderr, "%s: Overlay Optimization when no overlay "
-                                 "region effectively exists leads to "
-                                 "unpredictable behaviour!\n", __FUNCTION__);
+            if (!((s->dispc.l[1].attr | s->dispc.l[2].attr) & 1)) {
+                fprintf(stderr, "%s: Overlay Optimization when no overlay "
+                        "region effectively exists leads to "
+                        "unpredictable behaviour!\n", __func__);
+            }
         if (value & (1 << 6)) {                                /* GODIGITAL */
             /* XXX: Shadowed fields are:
              * s->dispc.config