From 58ef8c530ca5d265f575ef88e93c0214d5740b0a Mon Sep 17 00:00:00 2001 From: "Michael S. Tsirkin" Date: Mon, 12 Aug 2013 12:21:36 +0300 Subject: [PATCH] vhost: clear signalled_used_valid on vhost stop When vhost device stops, its implementation synchronizes kernel state back to virtio.c so we can continue emulating the device in userspace. This patch ensures that virtio.c's signalled_used_valid flag is reset so that userspace does not suppress guest notifications due to stale signalled_used values. Cc: qemu-stable@nongnu.org Signed-off-by: Michael S. Tsirkin (cherry picked from commit 3561ba14188b3c1e54246ed6db97896bbc082d2f) Signed-off-by: Michael Roth --- hw/virtio/vhost.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index fbabf99f5e2..0dabf263df8 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -761,6 +761,7 @@ static void vhost_virtqueue_stop(struct vhost_dev *dev, fflush(stderr); } virtio_queue_set_last_avail_idx(vdev, idx, state.num); + virtio_queue_invalidate_signalled_used(vdev, idx); assert (r >= 0); cpu_physical_memory_unmap(vq->ring, virtio_queue_get_ring_size(vdev, idx), 0, virtio_queue_get_ring_size(vdev, idx)); -- 2.39.5