Re: [PATCH net v2] net: stmmac: do not cache the new TSO MSS before it reaches the DMA

From: Linkui Xiao

Date: Tue Sep 22 2026 - 10:21:38 EST


- [Medium] The commit message of "net: stmmac: do not cache the new TSO
MSS before it reaches the DMA" describes a failure mode that cannot…

Agreed -- thanks for the analysis, the on-the-wire symptom I described
cannot happen. After a mapping failure the abandoned context descriptor
stays at OWN=0, the error paths never advance the tail pointer, and once
a later xmit publishes it the DMA suspends on the not-owned descriptor;
stmmac_tx_clean() reclaims the slot in software but pins dirty_tx at the
first descriptor the DMA still owns, so no later frame is ever segmented
at all -- stale MSS or otherwise. The real pre-patch consequence is the
wedged TX ring you describe, recovered only by the reset path
(stmmac_tx_err() -> stmmac_reset_tx_queue(), which also clears the stale
tx_q->mss; reachable from both the watchdog and the DMA error interrupt).

I will respin with the commit message rewritten to describe the stall;
the code change is unchanged (keeping tx_q->cur_tx on the context slot
and releasing it on the error paths is what prevents the wedge).

pw-bot: cr