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 30f3886542f..eef5ff186f4 100644
--- a/src/mesa/drivers/dri/r300/r300_texmem.c
+++ b/src/mesa/drivers/dri/r300/r300_texmem.c
@@ -469,14 +469,12 @@ 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,
@@ -485,6 +483,8 @@ 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);