Page MenuHomeFreeBSD

if_awg: mark the first tx descriptor as ready only after all the other tx descriptors are set up
ClosedPublic

Authored by guyyur_gmail.com on Nov 10 2017, 4:55 PM.
Tags
None
Referenced Files
F138018061: D13030.diff
Fri, Nov 28, 5:08 AM
F138016722: D13030.diff
Fri, Nov 28, 4:43 AM
Unknown Object (File)
Wed, Nov 26, 8:56 PM
Unknown Object (File)
Tue, Nov 25, 9:25 AM
Unknown Object (File)
Fri, Nov 21, 10:28 AM
Unknown Object (File)
Fri, Nov 21, 10:20 AM
Unknown Object (File)
Fri, Nov 21, 10:20 AM
Unknown Object (File)
Fri, Nov 21, 10:19 AM
Subscribers

Details

Summary

In a multi segment frame, if the first tx descriptor is marked with TX_DESC_CTL
but not all tx descriptors for the other segments in the frame are set up,
the TX DMA may transmit an incomplete frame.
To prevent this, set TX_DESC_CTL for the first tx descriptor only when done
with all the other segments.

Also, don't bother cleaning transmitted tx descriptors since TX_DESC_CTL
is cleared for them by the hardware and they will be reprogrammed before
TX_DESC_CTL is reenabled for them.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Skipped
Unit
Tests Skipped