aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorAshok Nagarajan <ashok@cozybit.com>2013-06-03 13:33:36 -0400
committerJohannes Berg <johannes.berg@intel.com>2013-06-11 08:24:36 -0400
commitffb3cf3000aa12facdccbdfcb10bfebda7199209 (patch)
treec53a2391c5750b5e9547e9122cabb412c5d43ea6 /net/mac80211
parent66de671374f003467b5ef7c65ecbe1930480c8c9 (diff)
{nl,mac,cfg}80211: Allow user to configure basic rates for mesh
Currently mesh uses mandatory rates as the default basic rates. Allow basic rates to be configured during mesh join. Basic rates are applied only if channel is also provided with mesh join command. Signed-off-by: Ashok Nagarajan <ashok@cozybit.com> [some whitespace fixes, refuse basic rates w/o channel] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/cfg.c1
-rw-r--r--net/mac80211/mesh.c4
2 files changed, 1 insertions, 4 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 344a57968079..cd6f35f6e714 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1759,6 +1759,7 @@ static int copy_mesh_setup(struct ieee80211_if_mesh *ifmsh,
1759 /* mcast rate setting in Mesh Node */ 1759 /* mcast rate setting in Mesh Node */
1760 memcpy(sdata->vif.bss_conf.mcast_rate, setup->mcast_rate, 1760 memcpy(sdata->vif.bss_conf.mcast_rate, setup->mcast_rate,
1761 sizeof(setup->mcast_rate)); 1761 sizeof(setup->mcast_rate));
1762 sdata->vif.bss_conf.basic_rates = setup->basic_rates;
1762 1763
1763 sdata->vif.bss_conf.beacon_int = setup->beacon_interval; 1764 sdata->vif.bss_conf.beacon_int = setup->beacon_interval;
1764 sdata->vif.bss_conf.dtim_period = setup->dtim_period; 1765 sdata->vif.bss_conf.dtim_period = setup->dtim_period;
diff --git a/net/mac80211/mesh.c b/net/mac80211/mesh.c
index 4ee527f78677..6c33af482df4 100644
--- a/net/mac80211/mesh.c
+++ b/net/mac80211/mesh.c
@@ -738,9 +738,6 @@ int ieee80211_start_mesh(struct ieee80211_sub_if_data *sdata)
738 BSS_CHANGED_HT | 738 BSS_CHANGED_HT |
739 BSS_CHANGED_BASIC_RATES | 739 BSS_CHANGED_BASIC_RATES |
740 BSS_CHANGED_BEACON_INT; 740 BSS_CHANGED_BEACON_INT;
741 enum ieee80211_band band = ieee80211_get_sdata_band(sdata);
742 struct ieee80211_supported_band *sband =
743 sdata->local->hw.wiphy->bands[band];
744 741
745 local->fif_other_bss++; 742 local->fif_other_bss++;
746 /* mesh ifaces must set allmulti to forward mcast traffic */ 743 /* mesh ifaces must set allmulti to forward mcast traffic */
@@ -758,7 +755,6 @@ int ieee80211_start_mesh(struct ieee80211_sub_if_data *sdata)
758 sdata->vif.bss_conf.ht_operation_mode = 755 sdata->vif.bss_conf.ht_operation_mode =
759 ifmsh->mshcfg.ht_opmode; 756 ifmsh->mshcfg.ht_opmode;
760 sdata->vif.bss_conf.enable_beacon = true; 757 sdata->vif.bss_conf.enable_beacon = true;
761 sdata->vif.bss_conf.basic_rates = ieee80211_mandatory_rates(sband);
762 758
763 changed |= ieee80211_mps_local_status_update(sdata); 759 changed |= ieee80211_mps_local_status_update(sdata);
764 760