summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2022-05-30 23:22:19 +0200
committerJohannes Berg <johannes.berg@intel.com>2022-06-20 12:55:27 +0200
commit2b4ad30946d3117819d9a78d58a99b7c3de3ee91 (patch)
tree0cece08be9b82278cfa281bc3b59ac00dc48e745 /net
parentwifi: mac80211: add link_id to vht.c code for MLO (diff)
downloadlinux-2b4ad30946d3117819d9a78d58a99b7c3de3ee91.tar.xz
linux-2b4ad30946d3117819d9a78d58a99b7c3de3ee91.zip
wifi: mac80211: add link_id to eht.c code for MLO
Update the code in eht.c and add the link_id parameter where necessary. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/cfg.c2
-rw-r--r--net/mac80211/eht.c12
-rw-r--r--net/mac80211/ieee80211_i.h3
-rw-r--r--net/mac80211/mlme.c2
4 files changed, 12 insertions, 7 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 53aac8f277e1..9780d70fcf28 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1778,7 +1778,7 @@ static int sta_apply_parameters(struct ieee80211_local *local,
params->he_capa_len,
params->eht_capa,
params->eht_capa_len,
- sta);
+ sta, 0);
if (params->opmode_notif_used) {
/* returned value is only needed for rc update, but the
diff --git a/net/mac80211/eht.c b/net/mac80211/eht.c
index 2d9c6e845ce4..de762a803c38 100644
--- a/net/mac80211/eht.c
+++ b/net/mac80211/eht.c
@@ -12,9 +12,11 @@ ieee80211_eht_cap_ie_to_sta_eht_cap(struct ieee80211_sub_if_data *sdata,
struct ieee80211_supported_band *sband,
const u8 *he_cap_ie, u8 he_cap_len,
const struct ieee80211_eht_cap_elem *eht_cap_ie_elem,
- u8 eht_cap_len, struct sta_info *sta)
+ u8 eht_cap_len, struct sta_info *sta,
+ unsigned int link_id)
{
- struct ieee80211_sta_eht_cap *eht_cap = &sta->sta.deflink.eht_cap;
+ struct ieee80211_sta_eht_cap *eht_cap =
+ &sta->sta.link[link_id]->eht_cap;
struct ieee80211_he_cap_elem *he_cap_ie_elem = (void *)he_cap_ie;
u8 eht_ppe_size = 0;
u8 mcs_nss_size;
@@ -71,6 +73,8 @@ ieee80211_eht_cap_ie_to_sta_eht_cap(struct ieee80211_sub_if_data *sdata,
eht_cap->has_eht = true;
- sta->deflink.cur_max_bandwidth = ieee80211_sta_cap_rx_bw(sta, 0);
- sta->sta.deflink.bandwidth = ieee80211_sta_cur_vht_bw(sta, 0);
+ sta->link[link_id]->cur_max_bandwidth =
+ ieee80211_sta_cap_rx_bw(sta, link_id);
+ sta->sta.link[link_id]->bandwidth =
+ ieee80211_sta_cur_vht_bw(sta, link_id);
}
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 5be96b0bbd96..c59dc8f6126b 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -2577,5 +2577,6 @@ ieee80211_eht_cap_ie_to_sta_eht_cap(struct ieee80211_sub_if_data *sdata,
struct ieee80211_supported_band *sband,
const u8 *he_cap_ie, u8 he_cap_len,
const struct ieee80211_eht_cap_elem *eht_cap_ie_elem,
- u8 eht_cap_len, struct sta_info *sta);
+ u8 eht_cap_len, struct sta_info *sta,
+ unsigned int link_id);
#endif /* IEEE80211_I_H */
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 643ef0ae786e..459780169e23 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -3599,7 +3599,7 @@ static bool ieee80211_assoc_success(struct ieee80211_sub_if_data *sdata,
elems->he_cap_len,
elems->eht_cap,
elems->eht_cap_len,
- sta);
+ sta, 0);
bss_conf->eht_support = sta->sta.deflink.eht_cap.has_eht;
} else {