radeon: correct RADEON_GEM_WAIT_IDLE use
authorMark Kettenis <kettenis@openbsd.org>
Wed, 5 Jun 2013 03:04:30 +0000 (13:04 +1000)
committerMichel Dänzer <michel.daenzer@amd.com>
Thu, 6 Jun 2013 14:19:38 +0000 (16:19 +0200)
RADEON_GEM_WAIT_IDLE is declared DRM_IOW but libdrm
uses it with drmCommandWriteRead instead of drmCommandWrite
which leads to the ioctl being unmatched and returning an
error on at least OpenBSD.

Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
radeon/radeon_bo_gem.c

index fca0aaf..4ea405f 100644 (file)
@@ -211,8 +211,8 @@ static int bo_wait(struct radeon_bo_int *boi)
     memset(&args, 0, sizeof(args));
     args.handle = boi->handle;
     do {
-        ret = drmCommandWriteRead(boi->bom->fd, DRM_RADEON_GEM_WAIT_IDLE,
-                                  &args, sizeof(args));
+        ret = drmCommandWrite(boi->bom->fd, DRM_RADEON_GEM_WAIT_IDLE,
+                             &args, sizeof(args));
     } while (ret == -EBUSY);
     return ret;
 }