From: Markus Stockhausen Date: Wed, 24 Jun 2026 09:45:40 +0000 (+0200) Subject: realtek: eth: fix tx_bytes calculation X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c77ac7db48c565ebc84f5c6f1f1131abbc57130f;p=thirdparty%2Fopenwrt.git realtek: eth: fix tx_bytes calculation When sending data packets the hardware expects data size plus 4 bytes for the layer 2 checksum (FCS). This does not count into "bytes sent" metric. Fix that. Link: https://github.com/openwrt/openwrt/pull/23948 Signed-off-by: Markus Stockhausen --- diff --git a/target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c b/target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c index 82b1273c413..c0f8cd86635 100644 --- a/target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c +++ b/target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c @@ -1081,7 +1081,7 @@ static int rteth_start_xmit(struct sk_buff *skb, struct net_device *dev) regmap_write(ctrl->map, ctrl->r->dma_if_ctrl, val | RTETH_TX_TRIGGER(ctrl, ring)); dev->stats.tx_packets++; - dev->stats.tx_bytes += len; + dev->stats.tx_bytes += len - ETH_FCS_LEN; spin_unlock(&ctrl->tx_lock);