From: Yuanhan Liu Date: Wed, 11 Nov 2015 13:24:41 +0000 (+0800) Subject: vhost: send SET_VRING_ENABLE at start/stop X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=3a12f32229a046f4d4ab0a3a52fb01d2d5a1ab76;p=qemu.git vhost: send SET_VRING_ENABLE at start/stop Send SET_VRING_ENABLE at start/stop, to give the backend an explicit sign of our state. Signed-off-by: Yuanhan Liu Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index de29968a79..1794f0d211 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1226,6 +1226,11 @@ int vhost_dev_start(struct vhost_dev *hdev, VirtIODevice *vdev) } } + if (hdev->vhost_ops->vhost_set_vring_enable) { + /* only enable first vq pair by default */ + hdev->vhost_ops->vhost_set_vring_enable(hdev, hdev->vq_index == 0); + } + return 0; fail_log: vhost_log_put(hdev, false); @@ -1256,6 +1261,10 @@ void vhost_dev_stop(struct vhost_dev *hdev, VirtIODevice *vdev) hdev->vq_index + i); } + if (hdev->vhost_ops->vhost_set_vring_enable) { + hdev->vhost_ops->vhost_set_vring_enable(hdev, 0); + } + vhost_log_put(hdev, true); hdev->started = false; hdev->log = NULL;