diff options
author | adrian <adrian@FreeBSD.org> | 2012-09-24 06:42:20 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2012-09-24 06:42:20 +0000 |
commit | fabac59d19a4620bc1cec762c86a95a07565a12e (patch) | |
tree | a17142a30874e7f5dfc393ed30fcbb4e5ce813e9 /etc | |
parent | fa5248331480a97125abc7999b87e2d5da392d68 (diff) | |
download | FreeBSD-src-fabac59d19a4620bc1cec762c86a95a07565a12e.zip FreeBSD-src-fabac59d19a4620bc1cec762c86a95a07565a12e.tar.gz |
Prepare for software retransmission of non-aggregate frames but ensure
it's disabled.
The previous commit to enable CLRDMASK setting didn't do it at all
correctly for non-aggregate sessions - so the CLRDMASK bit would be
cleared and never re-set.
* move ath_tx_update_clrdmask() to be called by functions that setup
descriptors and queue frames to the hardware, rather than scattered
everywhere.
* Force CLRDMASK to be set on all non-aggregate session frames being
transmitted.
* Use ath_tx_normal_comp() now on non-aggregate sessoin frames
that are queued via ath_tx_xmit_normal(). That way the TID hwq is
updated and they can trigger (eventual) filter frame queue resets
and software retransmits.
There's still a bit more work to do in this area to reverse the silly
short-sightedness on my part, however it's likely going to be better
to fix this now than just reverting the patch.
Thanks to people on the freebsd-wireless@ mailing list for promptly
pointing this out.
Diffstat (limited to 'etc')
0 files changed, 0 insertions, 0 deletions