/* * Unmap any memory, close any file descriptors and * free any memory owned by a device. */ void cleanup_device(struct virtio_net *dev, int destroy) { uint32_t i; vhost_backend_cleanup(dev); for (i = 0; i < dev->nr_vring; i++) cleanup_vq(dev->virtqueue[i], destroy); }
/* * Unmap any memory, close any file descriptors and * free any memory owned by a device. */ static void cleanup_device(struct virtio_net *dev, int destroy) { uint32_t i; vhost_backend_cleanup(dev); for (i = 0; i < dev->virt_qp_nb; i++) { cleanup_vq(dev->virtqueue[i * VIRTIO_QNUM + VIRTIO_RXQ], destroy); cleanup_vq(dev->virtqueue[i * VIRTIO_QNUM + VIRTIO_TXQ], destroy); } }