Andriy Voskoboinyk 0613dc6f15 iwn(4): (partially) rewrite A-MPDU Tx path
Generic Tx stats fixes:
- do not try to parse "aggregation status" for single frames; send them
to iwn_tx_done() instead;
- try to attach mbuf / node reference pair to reported BA events;
allows to fix reported status for ieee80211_tx_complete() and ifnet counters
(previously all A-MPDU frames were counted as failed - see PR 210211);
requires few more firmware bug workarounds;
- preserve short / long retry counters for wlan_amrr(4)
(disabled for now - causes significant performance degradation).
- Add new IWN_DEBUG_AMPDU debug category.
- Add one more check into iwn_tx_data() to prevent aggregation ring
overflow.
- Workaround 'seqno % 256' != 'current Tx slot' case (until D9195 is not
in the tree).
- Improve watchdog timer updates (previously watchdog check was omitted
when at least one frame was transmitted).
- Stop Tx when memory leak in currently used ring was detected (unlikely
to happen).
- Few other minor fixes.

Was previously tested with:
 - Intel 6205, STA mode (Tx aggregation behaves much better now).
 - Intel 4965AGN, STA mode (still unstable).

PR:		192641, 210211
Reviewed by:	adrian, dhw
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D10728
2019-01-16 12:33:06 +00:00
..
2019-01-07 02:39:40 +00:00
2018-07-07 15:55:52 +00:00
2018-08-10 13:38:23 +00:00
2018-10-15 18:39:33 +00:00
2018-07-17 23:23:45 +00:00
2018-06-15 02:28:36 +00:00
2018-04-13 20:30:49 +00:00
2018-11-09 22:18:43 +00:00
2018-11-29 19:06:05 +00:00
2018-12-12 21:56:45 +00:00
2018-12-17 21:34:09 +00:00
2018-03-14 18:27:06 +00:00
2018-11-28 17:37:17 +00:00
2018-11-28 17:37:17 +00:00
2018-08-01 08:24:34 +00:00
2018-08-07 17:13:42 +00:00
2018-08-21 10:08:12 +00:00
2017-11-30 20:33:45 +00:00
2018-12-31 23:27:56 +00:00
2018-12-26 10:48:39 +00:00
2019-01-08 05:41:04 +00:00
2017-11-30 20:33:45 +00:00
2018-04-13 20:30:49 +00:00
2018-09-26 19:41:00 +00:00
2018-09-26 19:41:00 +00:00
2018-07-27 10:40:48 +00:00
2018-07-13 22:49:48 +00:00
2018-11-14 15:39:48 +00:00
2018-01-03 00:56:30 +00:00
2018-01-13 16:31:07 +00:00