summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/via
diff options
context:
space:
mode:
authorRoel Kluin <roel.kluin@gmail.com>2009-04-16 22:57:46 +0200
committerDave Airlie <airlied@redhat.com>2009-04-20 09:28:20 +1000
commitd9c6f546469f33f9aa48ae5991c33da8cd535b37 (patch)
tree3566163c07452cec433ac00a58adf059c6d06219 /drivers/gpu/drm/via
parent029a2edbd36f5e34ff1aebfba1bca31b5ac9899e (diff)
downloadlinux-d9c6f546469f33f9aa48ae5991c33da8cd535b37.tar.gz
linux-d9c6f546469f33f9aa48ae5991c33da8cd535b37.tar.bz2
linux-d9c6f546469f33f9aa48ae5991c33da8cd535b37.zip
drm: count reaches -1
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>
Diffstat (limited to 'drivers/gpu/drm/via')
-rw-r--r--drivers/gpu/drm/via/via_dma.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/gpu/drm/via/via_dma.c b/drivers/gpu/drm/via/via_dma.c
index 7a339dba6a69..bfb92d283260 100644
--- a/drivers/gpu/drm/via/via_dma.c
+++ b/drivers/gpu/drm/via/via_dma.c
@@ -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;
}