On Thu, Jan 2, 2020 at 1:43 AM Michael S. Tsirkin <
address@hidden> 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 <address@hidden>
> ---
> 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