diff --git a/usr.sbin/bhyve/virtio.c b/usr.sbin/bhyve/virtio.c --- a/usr.sbin/bhyve/virtio.c +++ b/usr.sbin/bhyve/virtio.c @@ -901,6 +901,9 @@ SNAPSHOT_VAR_OR_LEAVE(vq->vq_pfn, meta, ret, done); + if (!vq_ring_ready(vq)) + continue; + addr_size = vq->vq_qsize * sizeof(struct vring_desc); SNAPSHOT_GUEST2HOST_ADDR_OR_LEAVE(vq->vq_desc, addr_size, false, meta, ret, done);