Index: sys/net80211/ieee80211_var.h =================================================================== --- sys/net80211/ieee80211_var.h (revision 211294) +++ sys/net80211/ieee80211_var.h (working copy) @@ -553,6 +553,7 @@ MALLOC_DECLARE(M_80211_VAP); #define IEEE80211_FEXT_WDSLEGACY 0x00010000 /* CONF: legacy WDS operation */ #define IEEE80211_FEXT_PROBECHAN 0x00020000 /* CONF: probe passive channel*/ #define IEEE80211_FEXT_UNIQMAC 0x00040000 /* CONF: user or computed mac */ +#define IEEE80211_FEXT_RATECTL 0x00080000 /* CONF: ratectl used */ #define IEEE80211_FEXT_BITS \ "\20\2INACT\3SCANWAIT\4BGSCAN\5WPS\6TSN\7SCANREQ\10RESUME" \ Index: sys/net80211/ieee80211_ratectl.h =================================================================== --- sys/net80211/ieee80211_ratectl.h (revision 211294) +++ sys/net80211/ieee80211_ratectl.h (working copy) @@ -63,6 +63,7 @@ MALLOC_DECLARE(M_80211_RATECTL); static void __inline ieee80211_ratectl_init(struct ieee80211vap *vap) { + vap->iv_flags_ext |= IEEE80211_FEXT_RATECTL; vap->iv_rate->ir_init(vap); } @@ -77,6 +78,8 @@ ieee80211_ratectl_node_init(struct ieee80211_node { const struct ieee80211vap *vap = ni->ni_vap; + if ((vap->iv_flags_ext & IEEE80211_FEXT_RATECTL) == 0) + return; vap->iv_rate->ir_node_init(ni); }