diff options
author | bschmidt <bschmidt@FreeBSD.org> | 2010-11-06 18:17:20 +0000 |
---|---|---|
committer | bschmidt <bschmidt@FreeBSD.org> | 2010-11-06 18:17:20 +0000 |
commit | 5fd0b74a4c9151f623761f2b995f59a8e38f320e (patch) | |
tree | f42f8a30c64758aa2079a7c3a4a5e7918cc53978 /sys/net80211/ieee80211_node.c | |
parent | b57486d5506289777c9643799c4c259be8ed5f5e (diff) | |
download | FreeBSD-src-5fd0b74a4c9151f623761f2b995f59a8e38f320e.zip FreeBSD-src-5fd0b74a4c9151f623761f2b995f59a8e38f320e.tar.gz |
Instead of using the AMRR ratectl algo as default for drivers which have
the IEEE80211_C_RATECTL flag set, default to NONE for all drivers. Only if
a driver calls ieee80211_ratectl_init() check if the NONE algo is still
selected and try to use AMRR in that case. Drivers are still free to use
any other algo by calling ieee80211_ratectl_set() prior to the
ieee80211_ratectl_init() call.
After this change it is now safe to assume that a ratectl algo is always
available and selected, which renders the IEEE80211_C_RATECTL flag pretty
much useless. Therefore revert r211314 and 211546.
Reviewed by: rpaulo
MFC after: 2 weeks
Diffstat (limited to 'sys/net80211/ieee80211_node.c')
-rw-r--r-- | sys/net80211/ieee80211_node.c | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/sys/net80211/ieee80211_node.c b/sys/net80211/ieee80211_node.c index 2dc4871..2c1acff 100644 --- a/sys/net80211/ieee80211_node.c +++ b/sys/net80211/ieee80211_node.c @@ -817,8 +817,7 @@ ieee80211_sta_join(struct ieee80211vap *vap, struct ieee80211_channel *chan, if (ieee80211_iserp_rateset(&ni->ni_rates)) ni->ni_flags |= IEEE80211_NODE_ERP; ieee80211_node_setuptxparms(ni); - if (vap->iv_caps & IEEE80211_C_RATECTL) - ieee80211_ratectl_node_init(ni); + ieee80211_ratectl_node_init(ni); return ieee80211_sta_join1(ieee80211_ref_node(ni)); } @@ -1038,8 +1037,7 @@ node_free(struct ieee80211_node *ni) { struct ieee80211com *ic = ni->ni_ic; - if (ni->ni_vap->iv_caps & IEEE80211_C_RATECTL) - ieee80211_ratectl_node_deinit(ni); + ieee80211_ratectl_node_deinit(ni); ic->ic_node_cleanup(ni); ieee80211_ies_cleanup(&ni->ni_ies); ieee80211_psq_cleanup(&ni->ni_psq); @@ -1404,8 +1402,7 @@ ieee80211_fakeup_adhoc_node(struct ieee80211vap *vap, #endif } ieee80211_node_setuptxparms(ni); - if (vap->iv_caps & IEEE80211_C_RATECTL) - ieee80211_ratectl_node_init(ni); + ieee80211_ratectl_node_init(ni); if (ic->ic_newassoc != NULL) ic->ic_newassoc(ni, 1); /* XXX not right for 802.1x/WPA */ @@ -1475,8 +1472,7 @@ ieee80211_add_neighbor(struct ieee80211vap *vap, if (ieee80211_iserp_rateset(&ni->ni_rates)) ni->ni_flags |= IEEE80211_NODE_ERP; ieee80211_node_setuptxparms(ni); - if (vap->iv_caps & IEEE80211_C_RATECTL) - ieee80211_ratectl_node_init(ni); + ieee80211_ratectl_node_init(ni); if (ic->ic_newassoc != NULL) ic->ic_newassoc(ni, 1); /* XXX not right for 802.1x/WPA */ @@ -2345,8 +2341,7 @@ ieee80211_node_join(struct ieee80211_node *ni, int resp) ); ieee80211_node_setuptxparms(ni); - if (vap->iv_caps & IEEE80211_C_RATECTL) - ieee80211_ratectl_node_init(ni); + ieee80211_ratectl_node_init(ni); /* give driver a chance to setup state like ni_txrate */ if (ic->ic_newassoc != NULL) ic->ic_newassoc(ni, newassoc); |