diff --git a/src/wsbm_manager.c b/src/wsbm_manager.c
index 0cbf9de..e7c8f5d 100644
--- a/src/wsbm_manager.c
+++ b/src/wsbm_manager.c
@@ -613,7 +613,7 @@
 int
 wsbmBODataUB(struct _WsbmBufferObject *buf,
         unsigned size, const void *data, struct _WsbmBufferPool *newPool,
-        uint32_t placement, const unsigned long *user_ptr, int fd)
+        uint32_t placement, const unsigned long *user_ptr)
 {
     int newBuffer;
     int retval = 0;
@@ -624,7 +624,7 @@
     extern struct _WsbmBufStorage *
     ttm_pool_ub_create(struct _WsbmBufferPool *pool,
         unsigned long size, uint32_t placement, unsigned alignment,
-        const unsigned long *user_ptr, int fd);
+        const unsigned long *user_ptr);
 
     if (buf->bufferType == WSBM_BUFFER_SIMPLE)
         return -EINVAL;
@@ -659,7 +659,7 @@
         }
 
         buf->storage =
-            ttm_pool_ub_create(newPool, size, placement, buf->alignment, user_ptr, fd);
+            ttm_pool_ub_create(newPool, size, placement, buf->alignment, user_ptr);
         if (!buf->storage) {
             retval = -ENOMEM;
             goto out;
@@ -681,7 +681,7 @@
         curPool = storage->pool;
 
         tmp_storage =
-            ttm_pool_ub_create(curPool, size, placement, buf->alignment, user_ptr, fd);
+            ttm_pool_ub_create(curPool, size, placement, buf->alignment, user_ptr);
 
         if (tmp_storage) {
             wsbmBufStorageUnref(&buf->storage);
diff --git a/src/wsbm_manager.h b/src/wsbm_manager.h
index 1fd5e39..aa2eb5f 100644
--- a/src/wsbm_manager.h
+++ b/src/wsbm_manager.h
@@ -95,7 +95,7 @@
 
 extern int wsbmBODataUB(struct _WsbmBufferObject *buf,
             unsigned size, const void *data, struct _WsbmBufferPool *newPool,
-            uint32_t placement, const unsigned long *user_ptr, int fd);
+            uint32_t placement, const unsigned long *user_ptr);
 
 extern int wsbmBOSetStatus(struct _WsbmBufferObject *buf,
 			   uint32_t setPlacement, uint32_t clrPlacement);
diff --git a/src/wsbm_ttmpool.c b/src/wsbm_ttmpool.c
index 3b594b3..0ea32bd 100644
--- a/src/wsbm_ttmpool.c
+++ b/src/wsbm_ttmpool.c
@@ -529,7 +529,7 @@
 }
 
 struct _WsbmBufStorage *
-ttm_pool_ub_create(struct _WsbmBufferPool *pool, unsigned long size, uint32_t placement, unsigned alignment, const unsigned long *user_ptr, int fd)
+ttm_pool_ub_create(struct _WsbmBufferPool *pool, unsigned long size, uint32_t placement, unsigned alignment, const unsigned long *user_ptr)
 {
     struct _TTMBuffer *dBuf = (struct _TTMBuffer *)
 	    calloc(1, sizeof(*dBuf));
@@ -556,7 +556,6 @@
     arg.req.placement = placement;
     arg.req.page_alignment = alignment / pageSize;
     arg.req.user_address = (unsigned long)user_ptr;
-    arg.req.fd = fd;
 
     DRMRESTARTCOMMANDWRITEREAD(pool->fd, ttmPool->devOffset + TTM_PL_CREATE_UB,
 			       arg, ret);
