No reason to calculate memory size again, as we have corresponding variable for each vring.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@yandex-team.ru> --- hw/virtio/vhost.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index 1fdc1937b6..bc1821eadd 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1370,12 +1370,9 @@ int vhost_virtqueue_start(struct vhost_dev *dev, return 0; fail: - vhost_memory_unmap(dev, vq->used, virtio_queue_get_used_size(vdev, idx), - 0, 0); - vhost_memory_unmap(dev, vq->avail, virtio_queue_get_avail_size(vdev, idx), - 0, 0); - vhost_memory_unmap(dev, vq->desc, virtio_queue_get_desc_size(vdev, idx), - 0, 0); + vhost_memory_unmap(dev, vq->used, vq->used_size, 0, 0); + vhost_memory_unmap(dev, vq->avail, vq->avail_size, 0, 0); + vhost_memory_unmap(dev, vq->desc, vq->desc_size, 0, 0); return r; } @@ -1422,12 +1419,9 @@ static int do_vhost_virtqueue_stop(struct vhost_dev *dev, vhost_vq_index); } - vhost_memory_unmap(dev, vq->used, virtio_queue_get_used_size(vdev, idx), - 1, virtio_queue_get_used_size(vdev, idx)); - vhost_memory_unmap(dev, vq->avail, virtio_queue_get_avail_size(vdev, idx), - 0, virtio_queue_get_avail_size(vdev, idx)); - vhost_memory_unmap(dev, vq->desc, virtio_queue_get_desc_size(vdev, idx), - 0, virtio_queue_get_desc_size(vdev, idx)); + vhost_memory_unmap(dev, vq->used, vq->used_size, 1, vq->used_size); + vhost_memory_unmap(dev, vq->avail, vq->avail_size, 0, vq->avail_size); + vhost_memory_unmap(dev, vq->desc, vq->desc_size, 0, vq->desc_size); return r; } -- 2.48.1