mac80211: don't duplicate station QoS capability data
We currently track the QoS capability twice: for all peer stations in the WLAN_STA_WME flag, and for any clients associated to an AP interface separately for drivers in the sta->sta.wme field. Remove the WLAN_STA_WME flag and track the capability only in the driver-visible field, getting rid of the limitation that the field is only valid in AP mode. Reviewed-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Esse commit está contido em:
@@ -1179,7 +1179,7 @@ static void ieee80211_send_null_response(struct ieee80211_sub_if_data *sdata,
|
||||
struct sk_buff *skb;
|
||||
int size = sizeof(*nullfunc);
|
||||
__le16 fc;
|
||||
bool qos = test_sta_flag(sta, WLAN_STA_WME);
|
||||
bool qos = sta->sta.wme;
|
||||
struct ieee80211_tx_info *info;
|
||||
struct ieee80211_chanctx_conf *chanctx_conf;
|
||||
|
||||
@@ -1834,7 +1834,7 @@ void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo)
|
||||
sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_AUTHORIZED);
|
||||
if (test_sta_flag(sta, WLAN_STA_SHORT_PREAMBLE))
|
||||
sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_SHORT_PREAMBLE);
|
||||
if (test_sta_flag(sta, WLAN_STA_WME))
|
||||
if (sta->sta.wme)
|
||||
sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_WME);
|
||||
if (test_sta_flag(sta, WLAN_STA_MFP))
|
||||
sinfo->sta_flags.set |= BIT(NL80211_STA_FLAG_MFP);
|
||||
|
Referência em uma nova issue
Block a user