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