On Mon, Mar 17, 2025 at 03:45:48PM +0530, 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 and this is already handled by XDP during > xdp_rxq_info_unreg (Rx queue unregister), failing to do will cause the > following warning: > > [ 271.494611] ------------[ cut here ]------------ > [ 271.494629] WARNING: CPU: 0 PID: 2453 at /net/core/page_pool.c:1108 0xffff8000808d5f60 I think it would be nice to include a bit more of the stack trace here. > > Fixes: 46eeb90f03e0 ("net: ti: icssg-prueth: Use page_pool API for RX buffer allocation") > Signed-off-by: Meghana Malladi <m-malladi@xxxxxx> It is a shame that we now have more asymmetry regarding the allocation of the pool and unwind on error prueth_prepare_rx_chan(). But if I see things correctly the freeing of the pool via xdp_rxq_info_unreg() is unconditional. And with that in mind I agree the approach taken by this patch makes sense. Reviewed-by: Simon Horman <horms@xxxxxxxxxx> ...