OSDN Git Service

nouveau: Use drmIoctl so we restart ioctl on EINTR or EAGAIN
authorBen Skeggs <bskeggs@redhat.com>
Wed, 9 Dec 2009 04:50:15 +0000 (14:50 +1000)
committerBen Skeggs <bskeggs@redhat.com>
Wed, 9 Dec 2009 04:51:00 +0000 (14:51 +1000)
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
nouveau/nouveau_bo.c

index 85fc14f..ae11b68 100644 (file)
@@ -29,7 +29,6 @@
 #include <assert.h>
 
 #include <sys/mman.h>
-#include <sys/ioctl.h>
 
 #include "nouveau_private.h"
 
@@ -106,7 +105,7 @@ nouveau_bo_kfree(struct nouveau_bo_priv *nvbo)
 
        req.handle = nvbo->handle;
        nvbo->handle = 0;
-       ioctl(nvdev->fd, DRM_IOCTL_GEM_CLOSE, &req);
+       drmIoctl(nvdev->fd, DRM_IOCTL_GEM_CLOSE, &req);
 }
 
 static int
@@ -290,7 +289,7 @@ nouveau_bo_handle_get(struct nouveau_bo *bo, uint32_t *handle)
                        return ret;
 
                req.handle = nvbo->handle;
-               ret = ioctl(nvdev->fd, DRM_IOCTL_GEM_FLINK, &req);
+               ret = drmIoctl(nvdev->fd, DRM_IOCTL_GEM_FLINK, &req);
                if (ret) {
                        nouveau_bo_kfree(nvbo);
                        return ret;
@@ -313,7 +312,7 @@ nouveau_bo_handle_ref(struct nouveau_device *dev, uint32_t handle,
        int ret;
 
        req.name = handle;
-       ret = ioctl(nvdev->fd, DRM_IOCTL_GEM_OPEN, &req);
+       ret = drmIoctl(nvdev->fd, DRM_IOCTL_GEM_OPEN, &req);
        if (ret) {
                nouveau_bo_ref(NULL, bo);
                return ret;