diff options
Diffstat (limited to 'libdrm')
-rw-r--r-- | libdrm/xf86drm.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libdrm/xf86drm.c b/libdrm/xf86drm.c index 606f098b..a7d4beb4 100644 --- a/libdrm/xf86drm.c +++ b/libdrm/xf86drm.c @@ -2984,8 +2984,10 @@ int drmBOWaitIdle(int fd, drmBO *buf, unsigned hint) req->hint = hint; arg.next = 0; - ret = ioctl(fd, DRM_IOCTL_BUFOBJ, &arg); - + do { + ret = ioctl(fd, DRM_IOCTL_BUFOBJ, &arg); + } while (ret && errno == EAGAIN); + if (ret) return ret; if (!arg.handled) |