Commit 3561ba14 authored by Michael S. Tsirkin's avatar Michael S. Tsirkin
Browse files

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: default avatarMichael S. Tsirkin <mst@redhat.com>
parent 6793dfd1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -762,6 +762,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));