提交 2c44be81 编写于 作者: J Johannes Berg

mac80211: set QoS capability before changing station state

In the upcoming fast-xmit patch, changing station state will
build a header cache based on the station's capabilities, and
as the QoS capability (sta.wme) impacts the header, it needs
to be set before.
Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
上级 070e176a
...@@ -1059,6 +1059,10 @@ static int sta_apply_parameters(struct ieee80211_local *local, ...@@ -1059,6 +1059,10 @@ static int sta_apply_parameters(struct ieee80211_local *local,
} }
} }
if (mask & BIT(NL80211_STA_FLAG_WME) &&
local->hw.queues >= IEEE80211_NUM_ACS)
sta->sta.wme = set & BIT(NL80211_STA_FLAG_WME);
/* auth flags will be set later for TDLS stations */ /* auth flags will be set later for TDLS stations */
if (!test_sta_flag(sta, WLAN_STA_TDLS_PEER)) { if (!test_sta_flag(sta, WLAN_STA_TDLS_PEER)) {
ret = sta_apply_auth_flags(local, sta, mask, set); ret = sta_apply_auth_flags(local, sta, mask, set);
...@@ -1073,10 +1077,6 @@ static int sta_apply_parameters(struct ieee80211_local *local, ...@@ -1073,10 +1077,6 @@ static int sta_apply_parameters(struct ieee80211_local *local,
clear_sta_flag(sta, WLAN_STA_SHORT_PREAMBLE); clear_sta_flag(sta, WLAN_STA_SHORT_PREAMBLE);
} }
if (mask & BIT(NL80211_STA_FLAG_WME) &&
local->hw.queues >= IEEE80211_NUM_ACS)
sta->sta.wme = set & BIT(NL80211_STA_FLAG_WME);
if (mask & BIT(NL80211_STA_FLAG_MFP)) { if (mask & BIT(NL80211_STA_FLAG_MFP)) {
sta->sta.mfp = !!(set & BIT(NL80211_STA_FLAG_MFP)); sta->sta.mfp = !!(set & BIT(NL80211_STA_FLAG_MFP));
if (set & BIT(NL80211_STA_FLAG_MFP)) if (set & BIT(NL80211_STA_FLAG_MFP))
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册