linux/drivers/net/ethernet/cadence
Nicolai Buchwitz 9151d6c427 net: macb: copy shared skbs before appending the FCS
macb_pad_and_fcs() appends the FCS in place when the skb has tailroom.
A shared skb, as pktgen sends in clone_skb mode, grows by one FCS per
transmit. BQL then completes more bytes than were queued and
dql_completed() hits its BUG_ON.

On a Raspberry Pi CM5 (RP1 GEM) pktgen with clone_skb 1000 burst 32 at
60 bytes kills the box within seconds.

Copy shared skbs before appending the FCS. Clearing IFF_TX_SKB_SHARING
would also fix it but makes pktgen refuse clone_skb on macb.

Fixes: 653e92a917 ("net: macb: add support for padding and fcs computation")
Signed-off-by: Nicolai Buchwitz <nb@tipi-net.de>
Link: https://patch.msgid.link/20261006-nb-macb-shared-skb-net-v1-2-a80641479041@tipi-net.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-10-08 11:48:50 -07:00
..
Kconfig ethernet: fix PTP_1588_CLOCK dependencies 2021-08-13 17:49:05 -07:00
macb_main.c net: macb: copy shared skbs before appending the FCS 2026-10-08 11:48:50 -07:00
macb_pci.c net: macb: unify device pointer naming convention 2026-08-17 17:19:55 -07:00
macb_ptp.c net: macb: fix ordering around PTP timestamp read 2026-09-17 14:25:52 +02:00
macb.h net: macb: exclude software FCS from TX byte statistics 2026-09-02 19:22:53 -07:00
Makefile