Date: Mon, 18 Apr 2016 00:26:11 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r298174 - head/sys/net80211 Message-ID: <201604180026.u3I0QB6f030823@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: adrian Date: Mon Apr 18 00:26:11 2016 New Revision: 298174 URL: https://svnweb.freebsd.org/changeset/base/298174 Log: [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. Modified: head/sys/net80211/ieee80211_ioctl.c Modified: head/sys/net80211/ieee80211_ioctl.c ============================================================================== --- head/sys/net80211/ieee80211_ioctl.c Sun Apr 17 23:22:32 2016 (r298173) +++ head/sys/net80211/ieee80211_ioctl.c Mon Apr 18 00:26:11 2016 (r298174) @@ -1020,6 +1020,10 @@ ieee80211_ioctl_get80211(struct ieee8021 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 ieee8021 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604180026.u3I0QB6f030823>