diff options
Diffstat (limited to 'net/mac80211/ibss.c')
-rw-r--r-- | net/mac80211/ibss.c | 6 |
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)); |