aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorIlan Peer <ilan.peer@intel.com>2023-06-08 16:36:11 +0300
committerJohannes Berg <johannes.berg@intel.com>2023-06-19 12:04:49 +0200
commit6d543b34dbcf6ec30064ae62a88faf60dbff4f8a (patch)
tree8ab6650709fbb20f883081131694bfcd26fcc48a /include/net/mac80211.h
parentMerge wireless into wireless-next (diff)
downloadwireguard-linux-6d543b34dbcf6ec30064ae62a88faf60dbff4f8a.tar.xz
wireguard-linux-6d543b34dbcf6ec30064ae62a88faf60dbff4f8a.zip
wifi: mac80211: Support disabled links during association
When the association is complete, do not configure disabled links, and track them as part of the interface data. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Link: https://lore.kernel.org/r/20230608163202.c194fabeb81a.Iaefdef5ba0492afe9a5ede14c68060a4af36e444@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 2ecc8d0c6ef4..914448cb0ecf 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1846,6 +1846,8 @@ struct ieee80211_vif_cfg {
* @active_links: The bitmap of active links, or 0 for non-MLO.
* The driver shouldn't change this directly, but use the
* API calls meant for that purpose.
+ * @dormant_links: bitmap of valid but disabled links, or 0 for non-MLO.
+ * Must be a subset of valid_links.
* @addr: address of this interface
* @p2p: indicates whether this AP or STA interface is a p2p
* interface, i.e. a GO or p2p-sta respectively
@@ -1883,7 +1885,7 @@ struct ieee80211_vif {
struct ieee80211_vif_cfg cfg;
struct ieee80211_bss_conf bss_conf;
struct ieee80211_bss_conf __rcu *link_conf[IEEE80211_MLD_MAX_NUM_LINKS];
- u16 valid_links, active_links;
+ u16 valid_links, active_links, dormant_links;
u8 addr[ETH_ALEN] __aligned(2);
bool p2p;
@@ -1916,7 +1918,7 @@ struct ieee80211_vif {
*/
static inline u16 ieee80211_vif_usable_links(const struct ieee80211_vif *vif)
{
- return vif->valid_links;
+ return vif->valid_links & ~vif->dormant_links;
}
/**