Re: [PATCH net v2] net: atl1c: free the RX buffer when the descriptor reports an error

From: Chris Snook

Date: Tue Nov 03 2026 - 22:36:02 EST


On Tue, Nov 3, 2026 at 5:53 PM Federico Musto <federico@xxxxxxxxxxxxx> wrote:
>
> Thank you for the detailed review. The findings on endian decoding,
> multi-RFD error handling, stale RRDs after reset and missing error-path
> work accounting were valid and have been addressed in v3.
>
> The v3 now:
> - decodes rrs->word0 once in CPU byte order and passes the decoded RFD
> index to both the unmap and cleanup paths;
> - unmaps, frees and recycles every RFD of an errored multi-RFD frame,
> with ring wrap;
> - counts errored descriptors as work so the RX refill runs;
> - clears the RRD ring on reset, preventing stale error descriptors from
> freeing newly reposted buffers.
>
> The memory-ordering and link-reset/NAPI issues are pre-existing and are
> left to separate patches rather than expanding this fix.
>
> Validation on netdev/net:
> - scripts/checkpatch.pl: 0 errors, 0 warnings, 0 checks;
> - baseline and patched W=1 + Sparse builds both succeeded;
> - no new warnings; three endian-related Sparse warnings removed;
> - git apply --check and git diff --check passed.
>
> The issues were found by code inspection; no hardware test has been
> performed.
>
> pw-bot: cr

I no longer have working test hardware for atl1c, so I'm unable to
test this on real hardware. The same is also true of atl1e. There have
been patches somewhat recently for atl1e that suggested some people
are still doing work on real hardware for that one, but as far as I
can tell no one has made new hardware for atl1, atl2, or atl1c in over
a decade. If anyone is willing to help test patches on this hardware,
please let me know.

- Chris