diff options
-rw-r--r-- | net/mac80211/cfg.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index a0d7a0362f1f..73c9e1003e25 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c | |||
@@ -997,9 +997,12 @@ static int sta_apply_parameters(struct ieee80211_local *local, | |||
997 | } | 997 | } |
998 | } | 998 | } |
999 | 999 | ||
1000 | ret = sta_apply_auth_flags(local, sta, mask, set); | 1000 | /* auth flags will be set later for TDLS stations */ |
1001 | if (ret) | 1001 | if (!test_sta_flag(sta, WLAN_STA_TDLS_PEER)) { |
1002 | return ret; | 1002 | ret = sta_apply_auth_flags(local, sta, mask, set); |
1003 | if (ret) | ||
1004 | return ret; | ||
1005 | } | ||
1003 | 1006 | ||
1004 | if (mask & BIT(NL80211_STA_FLAG_SHORT_PREAMBLE)) { | 1007 | if (mask & BIT(NL80211_STA_FLAG_SHORT_PREAMBLE)) { |
1005 | if (set & BIT(NL80211_STA_FLAG_SHORT_PREAMBLE)) | 1008 | if (set & BIT(NL80211_STA_FLAG_SHORT_PREAMBLE)) |
@@ -1136,6 +1139,13 @@ static int sta_apply_parameters(struct ieee80211_local *local, | |||
1136 | #endif | 1139 | #endif |
1137 | } | 1140 | } |
1138 | 1141 | ||
1142 | /* set the STA state after all sta info from usermode has been set */ | ||
1143 | if (test_sta_flag(sta, WLAN_STA_TDLS_PEER)) { | ||
1144 | ret = sta_apply_auth_flags(local, sta, mask, set); | ||
1145 | if (ret) | ||
1146 | return ret; | ||
1147 | } | ||
1148 | |||
1139 | return 0; | 1149 | return 0; |
1140 | } | 1150 | } |
1141 | 1151 | ||