]> git.hungrycats.org Git - linux/commit
net: usb: lan78xx: fix TX byte statistics for small packets
authorOleksij Rempel <o.rempel@pengutronix.de>
Thu, 5 Mar 2026 14:34:27 +0000 (15:34 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 10 Mar 2026 02:48:33 +0000 (19:48 -0700)
commit50988747c30df47b73b787f234f746027cb7ec6c
tree4293eea39f0f54da9deb9d23396cd7444731c818
parente4f774a0cc955ce762aec91c66915a6e15087ab7
net: usb: lan78xx: fix TX byte statistics for small packets

Account for hardware auto-padding in TX byte counters to reflect actual
wire traffic.

The LAN7850 hardware automatically pads undersized frames to the minimum
Ethernet frame length (ETH_ZLEN, 60 bytes). However, the driver tracks
the network statistics based on the unpadded socket buffer length. This
results in the tx_bytes counter under-reporting the actual physical
bytes placed on the Ethernet wire for small packets (like short ARP or
ICMP requests).

Use max_t() to ensure the transmission statistics accurately account for
the hardware-generated padding.

Fixes: d383216a7efe ("lan78xx: Introduce Tx URB processing improvements")
Cc: stable@vger.kernel.org
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://patch.msgid.link/20260305143429.530909-3-o.rempel@pengutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/usb/lan78xx.c