diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2026-09-03 16:55:02 -0700 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-09-03 16:55:02 -0700 |
| commit | b6dd676d320e6d3c57b84212b035336e03c55e7a (patch) | |
| tree | 91f10351d6f09d091c91b4d8fd429bf96b306feb /tools/perf/scripts/python | |
| parent | adf50c47a47f0f0f0b79dd58ffade9919cddebea (diff) | |
| parent | 0c5cf62e72d7a666ee4da757e122dc1600df1ecc (diff) | |
Merge branch 'net-bcmasp-fix-tx-ring-accounting-bugs'
Danesh Petigara says:
====================
net: bcmasp: fix TX ring accounting bugs
Two fixes for TX descriptor ring handling in the bcmasp driver:
- tx_spb_ring_full() re-initialized next_index from
intf->tx_spb_index on every loop iteration instead of advancing
it, so it only ever checked a single descriptor slot regardless
of cnt. This let bcmasp_xmit() proceed even when the ring didn't
actually have enough free slots for the SKB's fragments.
- bcmasp_xmit() only set txcb->last for the final fragment of an
SKB, leaving stale true values in reused descriptor slots from a
prior transmission. Combined with the ring-full miscount above,
this could cause bcmasp_tx_reclaim() to treat a mid-SKB
descriptor as the last one and free the sk_buff while later
fragments were still in flight.
Patch 1 clears txcb->last unconditionally before it is set, and
patch 2 fixes the ring-full slot check to advance through each
candidate slot.
====================
Link: https://patch.msgid.link/20260831184235.4133351-1-danesh.petigara@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
