Message ID | 20241204050724.307544-6-koichiro.den@canonical.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | virtio_net: correct netdev_tx_reset_queue() invocation points | expand |
On Wed, Dec 4, 2024 at 1:08 PM Koichiro Den <koichiro.den@canonical.com> wrote: > > virtnet_tx_resize() flushes remaining tx skbs, requiring DQL counters to > be reset when flushing has actually occurred. Add > virtnet_sq_free_unused_buf_done() as a callback for virtqueue_reset() to > handle this. > > Fixes: c8bd1f7f3e61 ("virtio_net: add support for Byte Queue Limits") > Cc: <stable@vger.kernel.org> # v6.11+ > Signed-off-by: Koichiro Den <koichiro.den@canonical.com> > --- Acked-by: Jason Wang <jasowang@redhat.com> Thanks
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index 2a90655cfa4f..d0cf29fd8255 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -3395,7 +3395,8 @@ static int virtnet_tx_resize(struct virtnet_info *vi, struct send_queue *sq, virtnet_tx_pause(vi, sq); - err = virtqueue_resize(sq->vq, ring_num, virtnet_sq_free_unused_buf, NULL); + err = virtqueue_resize(sq->vq, ring_num, virtnet_sq_free_unused_buf, + virtnet_sq_free_unused_buf_done); if (err) netdev_err(vi->dev, "resize tx fail: tx queue index: %d err: %d\n", qindex, err);
virtnet_tx_resize() flushes remaining tx skbs, requiring DQL counters to be reset when flushing has actually occurred. Add virtnet_sq_free_unused_buf_done() as a callback for virtqueue_reset() to handle this. Fixes: c8bd1f7f3e61 ("virtio_net: add support for Byte Queue Limits") Cc: <stable@vger.kernel.org> # v6.11+ Signed-off-by: Koichiro Den <koichiro.den@canonical.com> --- drivers/net/virtio_net.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)