summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2016-04-10 04:16:34 +0000
committeradrian <adrian@FreeBSD.org>2016-04-10 04:16:34 +0000
commit9bbe38f3d836f416727670a4ffeefa0cd12ab67f (patch)
tree95dda949abb83eab0353e02d2fa17b11693a0694
parentc65888410c284063c5d056d94b782a0526be9c55 (diff)
downloadFreeBSD-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.c2
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
OpenPOWER on IntegriCloud