drm: count reaches -1
authorRoel Kluin <roel.kluin@gmail.com>
Thu, 16 Apr 2009 20:57:46 +0000 (22:57 +0200)
committerDave Airlie <airlied@redhat.com>
Sun, 19 Apr 2009 23:28:20 +0000 (09:28 +1000)
With a postfix decrement in the test count will reach -1 rather than 0,
subsequent tests fail.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/via/via_dma.c

index 7a339dba6a69c2fb4d961a73851c048a0807f823..bfb92d2832606945bbddc08a15047b1b09ae2881 100644 (file)
@@ -481,11 +481,13 @@ static int via_wait_idle(drm_via_private_t * dev_priv)
 {
        int count = 10000000;
 
-       while (!(VIA_READ(VIA_REG_STATUS) & VIA_VR_QUEUE_BUSY) && count--);
+       while (!(VIA_READ(VIA_REG_STATUS) & VIA_VR_QUEUE_BUSY) && --count)
+               ;
 
-       while (count-- && (VIA_READ(VIA_REG_STATUS) &
+       while (count && (VIA_READ(VIA_REG_STATUS) &
                           (VIA_CMD_RGTR_BUSY | VIA_2D_ENG_BUSY |
-                           VIA_3D_ENG_BUSY))) ;
+                           VIA_3D_ENG_BUSY)))
+               --count;
        return count;
 }
 
@@ -705,7 +707,7 @@ static int via_cmdbuf_size(struct drm_device *dev, void *data, struct drm_file *
        switch (d_siz->func) {
        case VIA_CMDBUF_SPACE:
                while (((tmp_size = via_cmdbuf_space(dev_priv)) < d_siz->size)
-                      && count--) {
+                      && --count) {
                        if (!d_siz->wait) {
                                break;
                        }
@@ -717,7 +719,7 @@ static int via_cmdbuf_size(struct drm_device *dev, void *data, struct drm_file *
                break;
        case VIA_CMDBUF_LAG:
                while (((tmp_size = via_cmdbuf_lag(dev_priv)) > d_siz->size)
-                      && count--) {
+                      && --count) {
                        if (!d_siz->wait) {
                                break;
                        }