summaryrefslogtreecommitdiff
path: root/libdrm/xf86drm.c
diff options
context:
space:
mode:
Diffstat (limited to 'libdrm/xf86drm.c')
-rw-r--r--libdrm/xf86drm.c6
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)