Index: uspace/lib/virtio/virtio.c
===================================================================
--- uspace/lib/virtio/virtio.c	(revision b8ef198b865bb1e67719113decaabfc4685fe25c)
+++ uspace/lib/virtio/virtio.c	(revision 9afd2a817f65f70762a4e0891b615d09b77f3a9a)
@@ -64,7 +64,7 @@
 
 	uint16_t idx = pio_read_le16(&q->avail->idx);
-	pio_write_le16(&q->avail->ring[idx], descno);
+	pio_write_le16(&q->avail->ring[idx % q->queue_size], descno);
 	write_barrier();
-	pio_write_le16(&q->avail->idx, (idx + 1) % q->queue_size);
+	pio_write_le16(&q->avail->idx, idx + 1);
 	write_barrier();
 	pio_write_le16(q->notify, num);
