Message ID | 20250415090543.717991-2-m-malladi@ti.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Bug fixes from XDP and perout series | expand |
On 4/15/2025 2:05 AM, Meghana Malladi wrote: > During network interface initialization, the NIC driver needs to register > its Rx queue with the XDP, to ensure the incoming XDP buffer carries a > pointer reference to this info and is stored inside xdp_rxq_info. > > While this struct isn't tied to XDP prog, if there are any changes in > Rx queue, the NIC driver needs to stop the Rx queue by unregistering > with XDP before purging and reallocating memory. Drop page_pool destroy > during Rx channel reset as this is already handled by XDP during > xdp_rxq_info_unreg (Rx queue unregister), failing to do will cause the > following warning: > > warning logs: https://gist.github.com/MeghanaMalladiTI/eb627e5dc8de24e42d7d46572c13e576 > I generally would prefer a minified warning in the commit message, (perhaps in addition to the link) as such due to linkrot. Regardless, the fix looks accurate to me. Reviewed-by: Jacob Keller <jacob.e.keller@intel.com> > Fixes: 46eeb90f03e0 ("net: ti: icssg-prueth: Use page_pool API for RX buffer allocation") > Signed-off-by: Meghana Malladi <m-malladi@ti.com> > Reviewed-by: Simon Horman <horms@kernel.org> > Reviewed-by: Roger Quadros <rogerq@kernel.org> > --- > > Changes from v3 (v4-v3): > - Collected RB tag from Roger Quadros <rogerq@kernel.org> > > drivers/net/ethernet/ti/icssg/icssg_common.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/drivers/net/ethernet/ti/icssg/icssg_common.c b/drivers/net/ethernet/ti/icssg/icssg_common.c > index 14002b026452..ec643fb69d30 100644 > --- a/drivers/net/ethernet/ti/icssg/icssg_common.c > +++ b/drivers/net/ethernet/ti/icssg/icssg_common.c > @@ -1215,9 +1215,6 @@ void prueth_reset_rx_chan(struct prueth_rx_chn *chn, > prueth_rx_cleanup); > if (disable) > k3_udma_glue_disable_rx_chn(chn->rx_chn); > - > - page_pool_destroy(chn->pg_pool); > - chn->pg_pool = NULL; > } > EXPORT_SYMBOL_GPL(prueth_reset_rx_chan); >
diff --git a/drivers/net/ethernet/ti/icssg/icssg_common.c b/drivers/net/ethernet/ti/icssg/icssg_common.c index 14002b026452..ec643fb69d30 100644 --- a/drivers/net/ethernet/ti/icssg/icssg_common.c +++ b/drivers/net/ethernet/ti/icssg/icssg_common.c @@ -1215,9 +1215,6 @@ void prueth_reset_rx_chan(struct prueth_rx_chn *chn, prueth_rx_cleanup); if (disable) k3_udma_glue_disable_rx_chn(chn->rx_chn); - - page_pool_destroy(chn->pg_pool); - chn->pg_pool = NULL; } EXPORT_SYMBOL_GPL(prueth_reset_rx_chan);