diff options
| author | Ben Skeggs <bskeggs@redhat.com> | 2010-02-08 19:08:34 -0500 |
|---|---|---|
| committer | Ben Skeggs <bskeggs@redhat.com> | 2010-02-08 21:50:43 -0500 |
| commit | 1ee7698fc3ec3d7949fa55e5154c8f5de8f1c3d9 (patch) | |
| tree | a75f98cc8ec56ae9ed0f238622a699f65059cf3e | |
| parent | e235c1f3e132a243a1f81b3d95c99ee199b4d3f3 (diff) | |
drm/nouveau: make dp auxch xfer len check for reads only
Writes don't return a count, and adding the check broke native DP.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
| -rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_dp.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_dp.c b/drivers/gpu/drm/nouveau/nouveau_dp.c index dd4937224220..f954ad93e81f 100644 --- a/drivers/gpu/drm/nouveau/nouveau_dp.c +++ b/drivers/gpu/drm/nouveau/nouveau_dp.c | |||
| @@ -502,12 +502,12 @@ nouveau_dp_auxch(struct nouveau_i2c_chan *auxch, int cmd, int addr, | |||
| 502 | break; | 502 | break; |
| 503 | } | 503 | } |
| 504 | 504 | ||
| 505 | if ((stat & NV50_AUXCH_STAT_COUNT) != data_nr) { | ||
| 506 | ret = -EREMOTEIO; | ||
| 507 | goto out; | ||
| 508 | } | ||
| 509 | |||
| 510 | if (cmd & 1) { | 505 | if (cmd & 1) { |
| 506 | if ((stat & NV50_AUXCH_STAT_COUNT) != data_nr) { | ||
| 507 | ret = -EREMOTEIO; | ||
| 508 | goto out; | ||
| 509 | } | ||
| 510 | |||
| 511 | for (i = 0; i < 4; i++) { | 511 | for (i = 0; i < 4; i++) { |
| 512 | data32[i] = nv_rd32(dev, NV50_AUXCH_DATA_IN(index, i)); | 512 | data32[i] = nv_rd32(dev, NV50_AUXCH_DATA_IN(index, i)); |
| 513 | NV_DEBUG_KMS(dev, "rd %d: 0x%08x\n", i, data32[i]); | 513 | NV_DEBUG_KMS(dev, "rd %d: 0x%08x\n", i, data32[i]); |
