On Fri, Dec 13, 2019 at 09:24:03AM -0500, Michael S. Tsirkin wrote: > Some guests read back queue size after writing it. > Update the size immediatly upon write otherwise > they get confused. > > Signed-off-by: Michael S. Tsirkin <m...@redhat.com> > --- > hw/virtio/virtio-pci.c | 2 ++ > 1 file changed, 2 insertions(+)
Reviewed-by: Stefano Garzarella <sgarz...@redhat.com> Just a question, should we do the same in virtio-mmio? Maybe doing virtio_queue_set_num() in any case (legacy and non-legacy) during VIRTIO_MMIO_QUEUE_NUM writing. Thanks, Stefano > > 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, > -- > MST > > --