summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/mesa/drivers/dri/r300/r300_texmem.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/r300/r300_texmem.c b/src/mesa/drivers/dri/r300/r300_texmem.c
index eef5ff186f4..30f3886542f 100644
--- a/src/mesa/drivers/dri/r300/r300_texmem.c
+++ b/src/mesa/drivers/dri/r300/r300_texmem.c
@@ -469,12 +469,14 @@ static void r300UploadSubImage(r300ContextPtr rmesa, r300TexObjPtr t,
}
}
- LOCK_HARDWARE(&rmesa->radeon);
do {
+ LOCK_HARDWARE(&rmesa->radeon);
ret =
drmCommandWriteRead(rmesa->radeon.dri.fd,
DRM_RADEON_TEXTURE, &tex,
sizeof(drm_radeon_texture_t));
+ UNLOCK_HARDWARE(&rmesa->radeon);
+
if (ret) {
if (RADEON_DEBUG & DEBUG_IOCTL)
fprintf(stderr,
@@ -483,8 +485,6 @@ static void r300UploadSubImage(r300ContextPtr rmesa, r300TexObjPtr t,
}
} while (ret == -EAGAIN);
- UNLOCK_HARDWARE(&rmesa->radeon);
-
if (ret) {
fprintf(stderr, "DRM_RADEON_TEXTURE: return = %d\n", ret);
fprintf(stderr, " offset=0x%08x\n", offset);