freebsd-nq/sys/dev/iwn
Adrian Chadd 18aabe98d0 Inform the rate control code if a single frame AMPDU transmission succeeds
but has some retries.

Without this, single frame transmission in AMPDU will always look like
it succeeded fine, and thus AMRR will think it's totally fine to just
keep upping the rate upwards.

Now, this is still not quite right!  For multi-frame aggregates the
completion happens in two parts - the TX done and the BA received.
The driver is currently double accounting those a little - there's no
way to say to the rate control code "I completed X frames, Y worked fine,
there were Z retries." And it's a bit odd with iwn, as the firmware
retransmits frames for us so we don't get to see how many retransmits
happened; only that it took longer than normal.  I may have to extend
the rate control API to properly track that.

So this may keep the rate lower than it should be, but that's better
than keeping it higher than it should be.

Tested:

* 5100, STA mode
2014-08-28 07:44:59 +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 Inform the rate control code if a single frame AMPDU transmission succeeds 2014-08-28 07:44:59 +00:00
if_iwnreg.h Fix antenna configuration, microcode version checks and rate selection 2014-08-28 03:18:27 +00:00
if_iwnvar.h Fix antenna configuration, microcode version checks and rate selection 2014-08-28 03:18:27 +00:00