From: "Michael S. Tsirkin" <[email protected]> Some guests read back queue size after writing it. Update the size immediatly upon write otherwise they get confused.
In particular this is the case for seabios. Reported-by: Roman Kagan <[email protected]> Suggested-by: Denis Plotnikov <[email protected]> Cc: [email protected] Signed-off-by: Michael S. Tsirkin <[email protected]> (cherry picked from commit d0c5f643383b9e84316f148affff368ac33d75b9) Signed-off-by: Michael Roth <[email protected]> --- hw/virtio/virtio-pci.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index c6b47a9c73..e5c759e19e 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -1256,6 +1256,8 @@ static void virtio_pci_common_write(void *opaque, hwaddr addr, break; case VIRTIO_PCI_COMMON_Q_SIZE: proxy->vqs[vdev->queue_sel].num = val; + virtio_queue_set_num(vdev, vdev->queue_sel, + proxy->vqs[vdev->queue_sel].num); break; case VIRTIO_PCI_COMMON_Q_MSIX: msix_vector_unuse(&proxy->pci_dev, -- 2.17.1
