Index: uspace/lib/virtio/virtio-pci.h
===================================================================
--- uspace/lib/virtio/virtio-pci.h	(revision eda41a9e0e7610502846190f37d909f994d6a1e5)
+++ uspace/lib/virtio/virtio-pci.h	(revision 7bf16b7e66cd710b5f8db9294e429767d5c7afe7)
@@ -144,10 +144,4 @@
 	virtq_used_t *used;
 
-	/**
-	 * Queue-size-sized array of virtual addresses of the atcual DMA
-	 * buffers.
-	 */
-	void **buffers;
-
 	/** Address of the queue's notification register */
 	ioport16_t *notify;
@@ -180,6 +174,5 @@
 } virtio_dev_t;
 
-extern errno_t virtio_virtq_setup(virtio_dev_t *, uint16_t, uint16_t, size_t,
-    uint16_t);
+extern errno_t virtio_virtq_setup(virtio_dev_t *, uint16_t, uint16_t);
 extern void virtio_virtq_teardown(virtio_dev_t *, uint16_t);
 
Index: uspace/lib/virtio/virtio.c
===================================================================
--- uspace/lib/virtio/virtio.c	(revision eda41a9e0e7610502846190f37d909f994d6a1e5)
+++ uspace/lib/virtio/virtio.c	(revision 7bf16b7e66cd710b5f8db9294e429767d5c7afe7)
@@ -38,6 +38,5 @@
 #include <ddf/log.h>
 
-errno_t virtio_virtq_setup(virtio_dev_t *vdev, uint16_t num, uint16_t size,
-    size_t buf_size, uint16_t buf_flags)
+errno_t virtio_virtq_setup(virtio_dev_t *vdev, uint16_t num, uint16_t size)
 {
 	virtq_t *q = &vdev->queues[num];
@@ -52,12 +51,6 @@
 	ddf_msg(LVL_NOTE, "Virtq %u: %u buffers", num, (unsigned) size);
 
-	/* Allocate array to hold virtual addresses of DMA buffers */
-	void **buffers = calloc(sizeof(void *), size);
-	if (!buffers)
-		return ENOMEM;
-
 	size_t avail_offset = 0;
 	size_t used_offset = 0;
-	size_t buffers_offset = 0;
 
 	/*
@@ -74,9 +67,7 @@
 	mem_size += sizeof(virtq_used_t) + sizeof(virtq_used_elem_t[size]) +
 	    sizeof(ioport16_t);
-	buffers_offset = mem_size;
-	mem_size += size * buf_size;
 
 	/*
-	 * Allocate DMA memory for the virtqueues and the buffers
+	 * Allocate DMA memory for the virtqueues
 	 */
 	q->virt = AS_AREA_ANY;
@@ -84,5 +75,4 @@
 	    AS_AREA_READ | AS_AREA_WRITE, 0, &q->phys, &q->virt);
 	if (rc != EOK) {
-		free(buffers);
 		q->virt = NULL;
 		return rc;
@@ -94,17 +84,14 @@
 	q->avail = q->virt + avail_offset;
 	q->used = q->virt + used_offset;
-	q->buffers = buffers;
 
 	memset(q->virt, 0, q->size);
 
 	/*
-	 * Initialize the descriptor table and the buffers array
+	 * Initialize the descriptor table
 	 */
 	for (unsigned i = 0; i < size; i++) {
-		q->desc[i].addr = q->phys + buffers_offset + i * buf_size;
-		q->desc[i].len = buf_size;
-		q->desc[i].flags = buf_flags;
-
-		q->buffers[i] = q->virt + buffers_offset + i * buf_size;
+		q->desc[i].addr = 0;
+		q->desc[i].len = 0;
+		q->desc[i].flags = 0;
 	}
 
@@ -133,6 +120,4 @@
 	if (q->size)
 		dmamem_unmap_anonymous(q->virt);
-	if (q->buffers)
-		free(q->buffers);
 }
 
