summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_node.c
diff options
context:
space:
mode:
authorbschmidt <bschmidt@FreeBSD.org>2010-11-06 18:17:20 +0000
committerbschmidt <bschmidt@FreeBSD.org>2010-11-06 18:17:20 +0000
commit5fd0b74a4c9151f623761f2b995f59a8e38f320e (patch)
treef42f8a30c64758aa2079a7c3a4a5e7918cc53978 /sys/net80211/ieee80211_node.c
parentb57486d5506289777c9643799c4c259be8ed5f5e (diff)
downloadFreeBSD-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.c15
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);
OpenPOWER on IntegriCloud