diff options
author | adrian <adrian@FreeBSD.org> | 2016-04-10 04:16:34 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2016-04-10 04:16:34 +0000 |
commit | 9bbe38f3d836f416727670a4ffeefa0cd12ab67f (patch) | |
tree | 95dda949abb83eab0353e02d2fa17b11693a0694 | |
parent | c65888410c284063c5d056d94b782a0526be9c55 (diff) | |
download | FreeBSD-src-9bbe38f3d836f416727670a4ffeefa0cd12ab67f.zip FreeBSD-src-9bbe38f3d836f416727670a4ffeefa0cd12ab67f.tar.gz |
[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.
-rw-r--r-- | sys/net80211/ieee80211_ht.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/net80211/ieee80211_ht.c b/sys/net80211/ieee80211_ht.c index 9d33beb..cf78e88 100644 --- a/sys/net80211/ieee80211_ht.c +++ b/sys/net80211/ieee80211_ht.c @@ -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 |