On Thu, Jan 2, 2020 at 1:43 AM Michael S. Tsirkin wrote: > On Thu, Dec 26, 2019 at 06:36:49AM +0200, Yuri Benditovich wrote: > > https://bugzilla.redhat.com/show_bug.cgi?id=1708480 > > If the control queue is not deleted together with TX/RX, it > > later will be ignored in freeing cache resources and hot > > unplug will not be completed. > > > > Signed-off-by: Yuri Benditovich > > --- > > hw/net/virtio-net.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c > > index db3d7c38e6..f325440d01 100644 > > --- a/hw/net/virtio-net.c > > +++ b/hw/net/virtio-net.c > > @@ -3101,7 +3101,8 @@ static void > virtio_net_device_unrealize(DeviceState *dev, Error **errp) > > for (i = 0; i < max_queues; i++) { > > virtio_net_del_queue(n, i); > > } > > - > > + /* delete also control vq */ > > + virtio_del_queue(vdev, max_queues * 2); > > qemu_announce_timer_del(&n->announce_timer, false); > > g_free(n->vqs); > > qemu_del_nic(n->nic); > > Do we need to limit this to when ctrl vq exists? > ctrl vq always exists (we _add_ it unconditionally). we may suggest respective feature or not, but the initialized queue structure present. > > > -- > > 2.17.1 > >