RE: [PATCH v3 net 2/7] net: enetc: ensure enetc_xdp_xmit() calls enetc_update_tx_ring_tail()
From: Wei Fang
Date: Tue Sep 15 2026 - 22:21:06 EST
> diff --git a/drivers/net/ethernet/freescale/enetc/enetc.c
> b/drivers/net/ethernet/freescale/enetc/enetc.c
> index e7ecdf8ef67c..c9c23e994f6d 100644
> --- a/drivers/net/ethernet/freescale/enetc/enetc.c
> +++ b/drivers/net/ethernet/freescale/enetc/enetc.c
> @@ -1813,7 +1813,6 @@ int enetc_xdp_xmit(struct net_device *ndev, int
> num_frames,
> struct skb_shared_info *shinfo;
> struct enetc_bdr *tx_ring;
> int xdp_tx_bd_cnt, i, k;
> - int xdp_tx_frm_cnt = 0;
>
> if (unlikely(test_bit(ENETC_TX_DOWN, &priv->flags) ||
> !netif_carrier_ok(ndev)))
> @@ -1845,19 +1844,17 @@ int enetc_xdp_xmit(struct net_device *ndev, int
> num_frames,
> &xdp_redirect_arr[i]);
> break;
> }
> -
> - xdp_tx_frm_cnt++;
> }
>
> - if (unlikely((flags & XDP_XMIT_FLUSH) || k != xdp_tx_frm_cnt))
> + if (unlikely(k && ((flags & XDP_XMIT_FLUSH) || k < num_frames)))
> enetc_update_tx_ring_tail(tx_ring);
>
> - tx_ring->stats.xdp_tx += xdp_tx_frm_cnt;
> - tx_ring->stats.xdp_tx_drops += num_frames - xdp_tx_frm_cnt;
> + tx_ring->stats.xdp_tx += k;
> + tx_ring->stats.xdp_tx_drops += num_frames - k;
>
> enetc_unlock_mdio();
>
> - return xdp_tx_frm_cnt;
> + return k;
> }
> EXPORT_SYMBOL_GPL(enetc_xdp_xmit);
>
> --
> 2.43.0
Reviewed-by: Wei Fang <wei.fang@xxxxxxx>