u16 sz = vring->size;
u16 mask = sz - 1;
u16 n_vectors = n_left;
- u16 retry_count = 2;
-
-retry:
- /* free consumed buffers */
- virtio_free_used_device_desc (vm, vring, node->node_index);
used = vring->desc_in_use;
next = vring->desc_next;
virtio_kick (vm, vring, vif);
}
- if (n_left && retry_count--)
- goto retry;
-
return n_left;
}
buffers = to;
}
+ u16 retry_count = 2;
+
+retry:
+ /* free consumed buffers */
+ virtio_free_used_device_desc (vm, vring, node->node_index);
+
if (vif->type == VIRTIO_IF_TYPE_TAP)
n_left = virtio_interface_tx_inline (vm, node, vif, vring,
VIRTIO_IF_TYPE_TAP, buffers, n_left);
else
ASSERT (0);
+ if (n_left && retry_count--)
+ goto retry;
+
if (vif->packet_buffering && n_left)
{
u16 n_buffered =