]> www.infradead.org Git - users/jedix/linux-maple.git/commit
virtio-net: fix the vq coalescing setting for vq resize
authorHeng Qi <hengqi@linux.alibaba.com>
Sun, 8 Oct 2023 06:27:43 +0000 (14:27 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Oct 2023 06:13:50 +0000 (07:13 +0100)
commitf61fe5f081cf40de08d0a4c89659baf23c900f0c
treec79b48e2e34d3f6eeeca96d38d861be9d8dae854
parentbfb2b3609162135625bf96acf5118051cd0d082e
virtio-net: fix the vq coalescing setting for vq resize

According to the definition of virtqueue coalescing spec[1]:

  Upon disabling and re-enabling a transmit virtqueue, the device MUST set
  the coalescing parameters of the virtqueue to those configured through the
  VIRTIO_NET_CTRL_NOTF_COAL_TX_SET command, or, if the driver did not set
  any TX coalescing parameters, to 0.

  Upon disabling and re-enabling a receive virtqueue, the device MUST set
  the coalescing parameters of the virtqueue to those configured through the
  VIRTIO_NET_CTRL_NOTF_COAL_RX_SET command, or, if the driver did not set
  any RX coalescing parameters, to 0.

We need to add this setting for vq resize (ethtool -G) where vq_reset happens.

[1] https://lists.oasis-open.org/archives/virtio-dev/202303/msg00415.html

Fixes: 394bd87764b6 ("virtio_net: support per queue interrupt coalesce command")
Cc: Gavin Li <gavinl@nvidia.com>
Signed-off-by: Heng Qi <hengqi@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/virtio_net.c