mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
vmxnet3: unregister xdp rxq info in the reset path
commit 0dd765fae295832934bf28e45dd5a355e0891ed4 upstream.
vmxnet3 does not unregister xdp rxq info in the
vmxnet3_reset_work() code path as vmxnet3_rq_destroy()
is not invoked in this code path. So, we get below message with a
backtrace.
Missing unregister, handled but fix driver
WARNING: CPU:48 PID: 500 at net/core/xdp.c:182
__xdp_rxq_info_reg+0x93/0xf0
This patch fixes the problem by moving the unregister
code of XDP from vmxnet3_rq_destroy() to vmxnet3_rq_cleanup().
Fixes: 54f00cce11 ("vmxnet3: Add XDP support.")
Signed-off-by: Sankararaman Jayaraman <sankararaman.jayaraman@broadcom.com>
Signed-off-by: Ronak Doshi <ronak.doshi@broadcom.com>
Link: https://patch.msgid.link/20250320045522.57892-1-sankararaman.jayaraman@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
[ Ajay: Modified to apply on v6.6, v6.12 ]
Signed-off-by: Ajay Kaher <ajay.kaher@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e7b7a93879
commit
a6157484be
@@ -1981,6 +1981,11 @@ vmxnet3_rq_cleanup(struct vmxnet3_rx_queue *rq,
|
||||
|
||||
rq->comp_ring.gen = VMXNET3_INIT_GEN;
|
||||
rq->comp_ring.next2proc = 0;
|
||||
|
||||
if (xdp_rxq_info_is_reg(&rq->xdp_rxq))
|
||||
xdp_rxq_info_unreg(&rq->xdp_rxq);
|
||||
page_pool_destroy(rq->page_pool);
|
||||
rq->page_pool = NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -2021,11 +2026,6 @@ static void vmxnet3_rq_destroy(struct vmxnet3_rx_queue *rq,
|
||||
}
|
||||
}
|
||||
|
||||
if (xdp_rxq_info_is_reg(&rq->xdp_rxq))
|
||||
xdp_rxq_info_unreg(&rq->xdp_rxq);
|
||||
page_pool_destroy(rq->page_pool);
|
||||
rq->page_pool = NULL;
|
||||
|
||||
if (rq->data_ring.base) {
|
||||
dma_free_coherent(&adapter->pdev->dev,
|
||||
rq->rx_ring[0].size * rq->data_ring.desc_size,
|
||||
|
||||
Reference in New Issue
Block a user