Index: uspace/drv/nic/virtio-net/virtio-net.c
===================================================================
--- uspace/drv/nic/virtio-net/virtio-net.c	(revision ea6840d4abf1c2f1960ec7dcd4e1a01dc9d57c6c)
+++ uspace/drv/nic/virtio-net/virtio-net.c	(revision 417aaafbf1316f52c0f58d96f2801dea614c03ad)
@@ -155,7 +155,10 @@
     uint16_t *head)
 {
+	virtq_t *q = &vdev->queues[num];
+	fibril_mutex_lock(&q->lock);
 	uint16_t descno = *head;
 	if (descno != (uint16_t) -1U)
 		*head = virtio_virtq_desc_get_next(vdev, num, descno);
+	fibril_mutex_unlock(&q->lock);
 	return descno;
 }
@@ -171,7 +174,10 @@
     uint16_t *head, uint16_t descno)
 {
+	virtq_t *q = &vdev->queues[num];
+	fibril_mutex_lock(&q->lock);
 	virtio_virtq_desc_set(vdev, num, descno, 0, 0, VIRTQ_DESC_F_NEXT,
 	    *head);
 	*head = descno;
+	fibril_mutex_unlock(&q->lock);
 }
 
