[net80211] correctly (i hope, wow) do a ticks comparison to limit A-MPDU attempts

I was seeing the stack constantly attempt to renegotiate A-MPDU TX
even after 3 failures.  My hunch is that the direct ticks comparison
is failing around the ticks wrap-around point.

This failure shouldn't /really/ happen normally, but it turns out being
the IBSS master node on FreeBSD doesn't quite setup 11n right, so
negotiating A-MPDU TX fails.
This commit is contained in:
Adrian Chadd 2016-04-10 04:16:34 +00:00
parent 6548c62c97
commit b4fb3d6e02
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=297775

View file

@ -2157,7 +2157,7 @@ ieee80211_ampdu_enable(struct ieee80211_node *ni,
return 0;
/* XXX check rssi? */
if (tap->txa_attempts >= ieee80211_addba_maxtries &&
ticks < tap->txa_nextrequest) {
ieee80211_time_after(ticks, tap->txa_nextrequest)) {
/*
* Don't retry too often; txa_nextrequest is set
* to the minimum interval we'll retry after