]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
realtek: eth: fix tx_bytes calculation
authorMarkus Stockhausen <markus.stockhausen@gmx.de>
Wed, 24 Jun 2026 09:45:40 +0000 (11:45 +0200)
committerMarkus Stockhausen <markus.stockhausen@gmx.de>
Fri, 26 Jun 2026 14:43:25 +0000 (16:43 +0200)
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 <markus.stockhausen@gmx.de>
target/linux/realtek/files-6.18/drivers/net/ethernet/rtl838x_eth.c

index 82b1273c4138c0ac7326022cbc276bd9bc6ac3d1..c0f8cd86635bbc4ee50d3bd274ca1c64e0a5535c 100644 (file)
@@ -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);