aboutsummaryrefslogtreecommitdiff
path: root/sys/net80211/ieee80211_ioctl.c
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2016-04-18 00:26:11 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2016-04-18 00:26:11 +0000
commitcac031903555b9ac6fc5d052e0241e22b298b69d (patch)
tree2c6807ce05a41f7527b4b5edc9a1f10d69a602b4 /sys/net80211/ieee80211_ioctl.c
parent11748dae80dc6bdeb3f8d6443f5cf9c0bf8a3738 (diff)
downloadsrc-cac031903555b9ac6fc5d052e0241e22b298b69d.tar.gz
src-cac031903555b9ac6fc5d052e0241e22b298b69d.zip
[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.
Notes
Notes: svn path=/head/; revision=298174
Diffstat (limited to 'sys/net80211/ieee80211_ioctl.c')
-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 359b1d863331..3a362df39388 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