aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/ibss.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/mac80211/ibss.c')
-rw-r--r--net/mac80211/ibss.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index 7b3a0b0aa246..8361da4b36ab 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -268,7 +268,10 @@ static struct sta_info *ieee80211_ibss_finish_sta(struct sta_info *sta,
268 268
269 sta_info_pre_move_state(sta, IEEE80211_STA_AUTH); 269 sta_info_pre_move_state(sta, IEEE80211_STA_AUTH);
270 sta_info_pre_move_state(sta, IEEE80211_STA_ASSOC); 270 sta_info_pre_move_state(sta, IEEE80211_STA_ASSOC);
271 sta_info_pre_move_state(sta, IEEE80211_STA_AUTHORIZED); 271 /* authorize the station only if the network is not RSN protected. If
272 * not wait for the userspace to authorize it */
273 if (!sta->sdata->u.ibss.control_port)
274 sta_info_pre_move_state(sta, IEEE80211_STA_AUTHORIZED);
272 275
273 rate_control_rate_init(sta); 276 rate_control_rate_init(sta);
274 277
@@ -1075,6 +1078,7 @@ int ieee80211_ibss_join(struct ieee80211_sub_if_data *sdata,
1075 sdata->u.ibss.fixed_bssid = false; 1078 sdata->u.ibss.fixed_bssid = false;
1076 1079
1077 sdata->u.ibss.privacy = params->privacy; 1080 sdata->u.ibss.privacy = params->privacy;
1081 sdata->u.ibss.control_port = params->control_port;
1078 sdata->u.ibss.basic_rates = params->basic_rates; 1082 sdata->u.ibss.basic_rates = params->basic_rates;
1079 memcpy(sdata->vif.bss_conf.mcast_rate, params->mcast_rate, 1083 memcpy(sdata->vif.bss_conf.mcast_rate, params->mcast_rate,
1080 sizeof(params->mcast_rate)); 1084 sizeof(params->mcast_rate));