From 42d80cce4414dfbcb17ba76e288a080d06f2d47b Mon Sep 17 00:00:00 2001
From: Meghana Malladi <m-malladi@ti.com>
Date: Thu, 15 Jan 2026 18:25:49 +0530
Subject: [PATCH 11/12] net: am65-cpsw: Fix Rx FDQ descriptor leak with multi
 queue Rx support

Same FDQ cannot be shared for all flows when using XDP as each
flow maintains different set of page_pools/xdp_buffers which
gets mapped to descriptors.

Signed-off-by: Meghana Malladi <m-malladi@ti.com>
---
 drivers/net/ethernet/ti/am65-cpsw-nuss.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

@ drivers/net/ethernet/ti/am65-cpsw-nuss.c:567 @ void am65_cpsw_destroy_rxq(struct am65_cpsw_common *common, int id, bool retain_
 	napi_disable(&flow->napi_rx);
 	hrtimer_cancel(&flow->rx_hrtimer);
 	k3_udma_glue_reset_rx_chn(rx_chn->rx_chn, id, rx_chn,
-				  am65_cpsw_nuss_rx_cleanup, !!id);
+				  am65_cpsw_nuss_rx_cleanup, false);
 
 	for (port = 0; port < common->port_num; port++) {
 		if (!common->ports[port].ndev)
@ drivers/net/ethernet/ti/am65-cpsw-nuss.c:2892 @ static int am65_cpsw_nuss_init_rx_chns(struct am65_cpsw_common *common)
 
 		rx_flow_cfg.ring_rxfdq0_id = fdqring_id;
 		rx_flow_cfg.rx_cfg.size = max_desc_num;
-		/* share same FDQ for all flows */
-		rx_flow_cfg.rxfdq_cfg.size = max_desc_num * rx_cfg.flow_id_num;
+		rx_flow_cfg.rxfdq_cfg.size = max_desc_num;
 		rx_flow_cfg.rxfdq_cfg.mode = common->pdata.fdqring_mode;
 
 		ret = k3_udma_glue_rx_flow_init(rx_chn->rx_chn,
-- 
2.34.1