freebsd-skq/sys/dev/iwn
adrian feffa43278 (more) correctly account TX completion status for A-MPDU session frames.
The rules turn out to be:

* for non-aggregation session TX queues - it's either sent or not sent.
* for aggregation session TX queues - if nframes=1, then the status reflects
  the completed transmission.
* however, for nframes > 1, then this is just a status reflecting what
  the initial transmission did.  The compressed BA (immediate or delayed)
  may not have yet been received, so the actual frame status is in the
  compressed BA updates.

Whilst here, I fiddled with debugging and formatting a bit.

There's also RTS attempts (what the atheros chips call "short retries")
which weren't being logged and they aren't yet being used in the rate
control statistics updates.  For now, at least log them.

TODO:

* This still isn't 100% correct! So I have to tinker with this some more.
  (The failures aren't always failures..)
* Extend the rate control API in net80211 so it can take both short and
  long retry counts.

Tested:

* Intel 5100, STA mode
2014-09-08 03:16:28 +00:00
..
if_iwn_chip_cfg.h Shadow RAM support is apparently not at all working on the Intel 5300 Wifi. 2014-06-14 06:54:03 +00:00
if_iwn_debug.h Reserve a bit for statistics debugging. I'll hopefully use it soon. 2014-02-24 02:13:20 +00:00
if_iwn_devid.h Add support for the Intel Centrino Wireless-N 105 chipset. 2014-05-27 19:39:57 +00:00
if_iwn_ioctl.h Track and expose the latest statistics from the firmware. 2014-02-24 02:37:04 +00:00
if_iwn.c (more) correctly account TX completion status for A-MPDU session frames. 2014-09-08 03:16:28 +00:00
if_iwnreg.h Bring over some more status codes from the Linux iwlwifi driver. 2014-09-08 03:12:42 +00:00
if_iwnvar.h Fix antenna configuration, microcode version checks and rate selection 2014-08-28 03:18:27 +00:00