mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 00:21:17 +00:00
mac80211: stop modifying HT SMPS capability
Instead of modifying the HT SMPS capability field for stations, track the SMPS mode explicitly in a new field in the station struct and use it in the drivers that care about it. This simplifies the code using it. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
9fb04b501a
commit
af0ed69bad
11 changed files with 50 additions and 48 deletions
|
@ -102,6 +102,7 @@ bool ieee80211_ht_cap_ie_to_sta_ht_cap(struct ieee80211_sub_if_data *sdata,
|
|||
int i, max_tx_streams;
|
||||
bool changed;
|
||||
enum ieee80211_sta_rx_bandwidth bw;
|
||||
enum ieee80211_smps_mode smps_mode;
|
||||
|
||||
memset(&ht_cap, 0, sizeof(ht_cap));
|
||||
|
||||
|
@ -216,6 +217,24 @@ bool ieee80211_ht_cap_ie_to_sta_ht_cap(struct ieee80211_sub_if_data *sdata,
|
|||
ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40 ?
|
||||
IEEE80211_STA_RX_BW_40 : IEEE80211_STA_RX_BW_20;
|
||||
|
||||
switch ((ht_cap.cap & IEEE80211_HT_CAP_SM_PS)
|
||||
>> IEEE80211_HT_CAP_SM_PS_SHIFT) {
|
||||
case WLAN_HT_CAP_SM_PS_INVALID:
|
||||
case WLAN_HT_CAP_SM_PS_STATIC:
|
||||
smps_mode = IEEE80211_SMPS_STATIC;
|
||||
break;
|
||||
case WLAN_HT_CAP_SM_PS_DYNAMIC:
|
||||
smps_mode = IEEE80211_SMPS_DYNAMIC;
|
||||
break;
|
||||
case WLAN_HT_CAP_SM_PS_DISABLED:
|
||||
smps_mode = IEEE80211_SMPS_OFF;
|
||||
break;
|
||||
}
|
||||
|
||||
if (smps_mode != sta->sta.smps_mode)
|
||||
changed = true;
|
||||
sta->sta.smps_mode = smps_mode;
|
||||
|
||||
return changed;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue