[PATCH net 0/2] r8169: fix checksum eligibility and failed TX batch progress
flat view
WARM3d
From: iugfdin <hidden>
Date: 2026-10-03 00:07:56
This series fixes two TX-path issues found while investigating a report
of loss with an RTL8125D 2.5GbE controller (PCI revision 0c, XID 688).
The first patch preserves hardware checksum eligibility when a packet is
already at least as long as the padding target. The second ensures that
a failed skb does not leave previously committed xmit_more packets
without a transmit poll request.
Neither patch is claimed to resolve the reported physical packet loss.
The reporter observed 10-20% loss, particularly at 2.5 Gb/s, while a
vendor Realtek driver/firmware combination worked. No affected NIC was
available in the development environment. The reporter identified the
loaded firmware as rtl8125d-1_0.0.7 10/15/24. A possible firmware-related
cause of the reported loss remains under separate investigation.
The series is based on net commit:
6dc989ea46b96ce170840174b4a38c4a387fb005
Verification:
- The patched r8169 objects build with Clang 23.1.1, W=1, under x86-64
allmodconfig and allyesconfig on that net tree. These are driver-target
builds, not full-kernel builds or boot tests.
- A userspace harness extracts the production functions at run time,
with modeled kernel/DMA/MMIO boundaries and ASan/UBSan. The checksum
matrix changes from 42 failed assertions out of 85 to zero; the TX
matrix changes from 40 failed assertions out of 102 to zero.
- The matrices cover normal IPv4/IPv6 TCP/UDP, short and PTP padding,
transport offsets, GSO, ring wrap, successful fragments, failed
head/fragment DMA mapping, allocation failures and queue accounting.
- Both patches pass strict checkpatch and apply cleanly to the net base.
AI assistance was used to inspect the driver, compare upstream/vendor
behavior, develop the fixes and source-executing harness, and draft this
submission. The investigation started from the packet-loss report; it
did not establish either issue as the cause on the reported hardware.
The patches carry Assisted-by: LLM.
Patch 1 fixes 8d520b4de3ed ("r8169: work around RTL8125 UDP hw bug").
Patch 2 fixes ef14358546b1 ("r8169: make use of xmit_more").
The two changes are independent, and the complete series changes only
drivers/net/ethernet/realtek/r8169_main.c.
base-commit: 6dc989ea46b96ce170840174b4a38c4a387fb005