retry on EBUSY instead of EAGAIN in radeonWaitIrq (it appears this was the intention as drm seems to never return EAGAIN) in all radeon drivers.

This commit is contained in:
Roland Scheidegger
2006-06-01 23:21:43 +00:00
parent fe57ed4f25
commit 5377ac80dc
3 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -374,7 +374,7 @@ static void r200WaitIrq( r200ContextPtr rmesa )
do {
ret = drmCommandWrite( rmesa->dri.fd, DRM_RADEON_IRQ_WAIT,
&rmesa->iw, sizeof(rmesa->iw) );
} while (ret && (errno == EINTR || errno == EAGAIN));
} while (ret && (errno == EINTR || errno == EBUSY));
if ( ret ) {
fprintf( stderr, "%s: drmRadeonIrqWait: %d\n", __FUNCTION__, ret );
+1 -1
View File
@@ -122,7 +122,7 @@ static void radeonWaitIrq(radeonContextPtr radeon)
do {
ret = drmCommandWrite(radeon->dri.fd, DRM_RADEON_IRQ_WAIT,
&radeon->iw, sizeof(radeon->iw));
} while (ret && (errno == EINTR || errno == EAGAIN));
} while (ret && (errno == EINTR || errno == EBUSY));
if (ret) {
fprintf(stderr, "%s: drmRadeonIrqWait: %d\n", __FUNCTION__,
+1 -1
View File
@@ -831,7 +831,7 @@ static void radeonWaitIrq( radeonContextPtr rmesa )
do {
ret = drmCommandWrite( rmesa->dri.fd, DRM_RADEON_IRQ_WAIT,
&rmesa->iw, sizeof(rmesa->iw) );
} while (ret && (errno == EINTR || errno == EAGAIN));
} while (ret && (errno == EINTR || errno == EBUSY));
if ( ret ) {
fprintf( stderr, "%s: drmRadeonIrqWait: %d\n", __FUNCTION__, ret );