diff options
author | Ashok Nagarajan <ashok@cozybit.com> | 2013-06-03 13:33:36 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-06-11 08:24:36 -0400 |
commit | ffb3cf3000aa12facdccbdfcb10bfebda7199209 (patch) | |
tree | c53a2391c5750b5e9547e9122cabb412c5d43ea6 /net/mac80211 | |
parent | 66de671374f003467b5ef7c65ecbe1930480c8c9 (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.c | 1 | ||||
-rw-r--r-- | net/mac80211/mesh.c | 4 |
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 | ||