diff --git a/src/mesa/drivers/dri/r300/radeon_ioctl.c b/src/mesa/drivers/dri/r300/radeon_ioctl.c index 0b8656b..2085543 100644 --- a/src/mesa/drivers/dri/r300/radeon_ioctl.c +++ b/src/mesa/drivers/dri/r300/radeon_ioctl.c @@ -348,8 +348,11 @@ void radeonWaitForIdleLocked(radeonConte do { ret = drmCommandNone(radeon->dri.fd, DRM_RADEON_CP_IDLE); - if (ret) + if (ret) { + UNLOCK_HARDWARE(radeon); DO_USLEEP(1); + } + LOCK_HARDWARE(radeon); } while (ret && ++i < 100); if (ret < 0) {