summaryrefslogtreecommitdiffstats
path: root/sys/net80211
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2016-04-18 00:26:11 +0000
committeradrian <adrian@FreeBSD.org>2016-04-18 00:26:11 +0000
commitd6c727547783d96cf981ebccd1af788472784b4b (patch)
tree2c6807ce05a41f7527b4b5edc9a1f10d69a602b4 /sys/net80211
parent5af00548630cf2dcaef5f18bc24eafaace4755dc (diff)
downloadFreeBSD-src-d6c727547783d96cf981ebccd1af788472784b4b.zip
FreeBSD-src-d6c727547783d96cf981ebccd1af788472784b4b.tar.gz
[net80211] put in a comment about the not-quite-correctness of A-MPDU parameters.
Although we correctly (now!) calculate the right A-MPDU parameters, the ioctl() has some faulty logic for choosing which to display. The BSS params are what were advertised to us, and we would have chosen the lower of theirs/ours when advertising the HT bits back at them. So, we /should/ track and fix that so we display the correct A-MPDU density and size. However, since I'm a forgetful type, and I don't want to have to re-learn that this is wrong, drop in a comment so I or someone else fixes it. Or, when I discover this again in 4 years, I don't have to go digging too much to remember.
Diffstat (limited to 'sys/net80211')
-rw-r--r--sys/net80211/ieee80211_ioctl.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/net80211/ieee80211_ioctl.c b/sys/net80211/ieee80211_ioctl.c
index 359b1d8..3a362df 100644
--- a/sys/net80211/ieee80211_ioctl.c
+++ b/sys/net80211/ieee80211_ioctl.c
@@ -1020,6 +1020,10 @@ ieee80211_ioctl_get80211(struct ieee80211vap *vap, u_long cmd,
if (vap->iv_opmode == IEEE80211_M_HOSTAP)
ireq->i_val = vap->iv_ampdu_rxmax;
else if (vap->iv_state == IEEE80211_S_RUN || vap->iv_state == IEEE80211_S_SLEEP)
+ /*
+ * XXX TODO: this isn't completely correct, as we've
+ * negotiated the higher of the two.
+ */
ireq->i_val = MS(vap->iv_bss->ni_htparam,
IEEE80211_HTCAP_MAXRXAMPDU);
else
@@ -1028,6 +1032,10 @@ ieee80211_ioctl_get80211(struct ieee80211vap *vap, u_long cmd,
case IEEE80211_IOC_AMPDU_DENSITY:
if (vap->iv_opmode == IEEE80211_M_STA &&
(vap->iv_state == IEEE80211_S_RUN || vap->iv_state == IEEE80211_S_SLEEP))
+ /*
+ * XXX TODO: this isn't completely correct, as we've
+ * negotiated the higher of the two.
+ */
ireq->i_val = MS(vap->iv_bss->ni_htparam,
IEEE80211_HTCAP_MPDUDENSITY);
else
OpenPOWER on IntegriCloud