Adrian Chadd 0c54de88e6 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.
2012-09-24 06:42:20 +00:00
..
2012-09-23 08:50:54 +00:00
2012-09-12 10:12:03 +00:00
2012-09-14 22:00:03 +00:00
2012-09-23 19:40:58 +00:00
2012-09-23 07:43:10 +00:00
2012-09-18 08:00:43 +00:00
2012-09-23 09:13:57 +00:00
2012-09-24 03:14:17 +00:00
2012-09-14 21:28:56 +00:00