mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-23 20:31:59 +00:00
61 lines
1.9 KiB
Diff
61 lines
1.9 KiB
Diff
From 7505f22fcce284f387dd90d38434a5e16a1832eb Mon Sep 17 00:00:00 2001
|
|
From: Ilan Peer <ilan.peer@intel.com>
|
|
Date: Mon, 14 Feb 2022 17:29:59 +0100
|
|
Subject: [PATCH 12/19] mac80211: Support parsing EHT elements
|
|
|
|
Parse the new EHT elements in the element parsing utilities.
|
|
|
|
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
|
|
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
|
|
---
|
|
net/mac80211/ieee80211_i.h | 3 +++
|
|
net/mac80211/util.c | 11 +++++++++++
|
|
2 files changed, 14 insertions(+)
|
|
|
|
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
|
|
index 0fb6fc7a99ea..c408036d0d62 100644
|
|
--- a/net/mac80211/ieee80211_i.h
|
|
+++ b/net/mac80211/ieee80211_i.h
|
|
@@ -1591,6 +1591,8 @@ struct ieee802_11_elems {
|
|
const struct ieee80211_s1g_oper_ie *s1g_oper;
|
|
const struct ieee80211_s1g_bcn_compat_ie *s1g_bcn_compat;
|
|
const struct ieee80211_aid_response_ie *aid_resp;
|
|
+ const struct ieee80211_eht_cap_elem *eht_cap;
|
|
+ const struct ieee80211_eht_operation *eht_operation;
|
|
|
|
/* length of them, respectively */
|
|
u8 ext_capab_len;
|
|
@@ -1612,6 +1614,7 @@ struct ieee802_11_elems {
|
|
u8 bssid_index_len;
|
|
u8 tx_pwr_env_len[IEEE80211_TPE_MAX_IE_COUNT];
|
|
u8 tx_pwr_env_num;
|
|
+ u8 eht_cap_len;
|
|
|
|
/* whether a parse error occurred while retrieving these elements */
|
|
bool parse_error;
|
|
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
|
|
index f71b042a5c8b..c999f66fff18 100644
|
|
--- a/net/mac80211/util.c
|
|
+++ b/net/mac80211/util.c
|
|
@@ -1006,6 +1006,17 @@ static void ieee80211_parse_extension_element(u32 *crc,
|
|
if (len >= sizeof(*elems->he_6ghz_capa))
|
|
elems->he_6ghz_capa = data;
|
|
break;
|
|
+ case WLAN_EID_EXT_EHT_CAPABILITY:
|
|
+ if (ieee80211_eht_capa_size_ok(elems->he_cap,
|
|
+ data, len)) {
|
|
+ elems->eht_cap = data;
|
|
+ elems->eht_cap_len = len;
|
|
+ }
|
|
+ break;
|
|
+ case WLAN_EID_EXT_EHT_OPERATION:
|
|
+ if (ieee80211_eht_oper_size_ok(data, len))
|
|
+ elems->eht_operation = data;
|
|
+ break;
|
|
}
|
|
}
|
|
|
|
--
|
|
2.31.1
|
|
|