svn commit: r298174 - head/sys/net80211

Adrian Chadd adrian at FreeBSD.org
Mon Apr 18 00:26:12 UTC 2016


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


More information about the svn-src-head mailing list