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:
@@ -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 );
|
||||
|
||||
@@ -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__,
|
||||
|
||||
@@ -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 );
|
||||
|
||||
Reference in New Issue
Block a user