drm/nouveau: make dp auxch xfer len check for reads only
authorBen Skeggs <bskeggs@redhat.com>
Tue, 9 Feb 2010 00:08:34 +0000 (10:08 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Tue, 9 Feb 2010 02:50:43 +0000 (12:50 +1000)
Writes don't return a count, and adding the check broke native DP.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/nouveau_dp.c

index dd49372..f954ad9 100644 (file)
@@ -502,12 +502,12 @@ nouveau_dp_auxch(struct nouveau_i2c_chan *auxch, int cmd, int addr,
                        break;
        }
 
-       if ((stat & NV50_AUXCH_STAT_COUNT) != data_nr) {
-               ret = -EREMOTEIO;
-               goto out;
-       }
-
        if (cmd & 1) {
+               if ((stat & NV50_AUXCH_STAT_COUNT) != data_nr) {
+                       ret = -EREMOTEIO;
+                       goto out;
+               }
+
                for (i = 0; i < 4; i++) {
                        data32[i] = nv_rd32(dev, NV50_AUXCH_DATA_IN(index, i));
                        NV_DEBUG_KMS(dev, "rd %d: 0x%08x\n", i, data32[i]);