adrian 660416c5ae Introduce the CLRDMASK gating based on tid->clrdmask, enabling filtered
frames to occur.

* Create a new function which will set the bf_flags CLRDMASK bit
  if required.
* For raw frames, always set CLRDMASK.
* For BAR, ADDBA frames, always set CLRDMASK.
* For everything else, check if CLRDMASK needs to be set before
  calling tx_setds() or tx_setds11n().
* When unpausing a queue or drain/resetting it, set tid->clrdmask=1
  just to ensure traffic starts flowing.

What I need to do:

* Modify that function to _clear_ the CLRDMASK if it's not required,
  or retried frames may have CLRDMASK set when they don't need to.
  (Which isn't a huge deal, but..)

Whilst I'm here:

* ath_tx_normal_xmit() should really act like the AMPDU session TX
  functions - any incomplete frames will end up being assigned
  ath_tx_normal_comp() which will decrement tid->hwq_depth - but that
  won't have been incremented.

  So whilst I'm here, add a comment to do that.

* Fix the debug print function to be slightly clearer about things;
  it's not a good sign when I can't interpret my own debugging output.

I've done some testing on AR9280/AR5416/AR9160 STA and AP modes.
2012-09-20 03:13:20 +00:00
..
2012-06-06 09:07:50 +00:00
2012-09-14 21:28:56 +00:00
2012-09-18 02:19:43 +00:00
2012-09-14 21:28:56 +00:00
2012-07-28 21:56:24 +00:00
2012-08-06 08:58:54 +00:00
2012-09-14 22:00:03 +00:00
2012-04-13 18:21:56 +00:00
2012-09-17 02:50:16 +00:00
2012-07-26 13:58:43 +00:00
2012-08-15 04:07:18 +00:00
2012-08-15 04:03:55 +00:00
2012-09-18 02:19:43 +00:00
2012-09-14 21:28:56 +00:00
2012-07-28 21:56:24 +00:00
2012-07-30 08:56:56 +00:00
2012-05-11 03:17:32 +00:00
2012-06-10 11:17:14 +00:00
2012-06-28 07:28:39 +00:00
2012-08-30 20:31:53 +00:00
2012-09-14 21:59:55 +00:00
2012-09-14 22:00:03 +00:00