summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2026-04-28 12:25:31 +0300
committerJohannes Berg <johannes.berg@intel.com>2026-05-05 15:49:02 +0300
commit881b246709db5129fa81daf7301dcf04306e4be9 (patch)
tree67f769a2812d38a4283130a2a211fa9eb9bc67b3
parentf6ced3745ad1a0e5691b9323651e39e05371fe2f (diff)
downloadlinux-881b246709db5129fa81daf7301dcf04306e4be9.tar.xz
wifi: mac80211: carry element parsing frame type/from_ap
Carry the frame type and from_ap indication in the parse result, the caller should have it, but we often pass the resulting data structure around, so this saves passing more parameters. Link: https://patch.msgid.link/20260428112708.e8e6479f6765.I4a56ad20d40bdbbaa72531208e092eb4fbf6b4d6@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
-rw-r--r--net/mac80211/ieee80211_i.h2
-rw-r--r--net/mac80211/parse.c3
2 files changed, 5 insertions, 0 deletions
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index b456b34a92ce..fc4424b125c1 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -1790,6 +1790,8 @@ struct ieee802_11_elems {
const u8 *ie_start;
size_t total_len;
u32 crc;
+ u8 frame_type;
+ bool from_ap;
/* pointers to IEs */
const struct ieee80211_tdls_lnkie *lnk_id;
diff --git a/net/mac80211/parse.c b/net/mac80211/parse.c
index 2b3632c6008a..5e61457be0f3 100644
--- a/net/mac80211/parse.c
+++ b/net/mac80211/parse.c
@@ -1053,6 +1053,9 @@ ieee802_11_parse_elems_full(struct ieee80211_elems_parse_params *params)
if (!elems_parse)
return NULL;
+ elems_parse->elems.frame_type = params->type;
+ elems_parse->elems.from_ap = params->from_ap;
+
elems_parse->scratch_len = scratch_len;
elems_parse->scratch_pos = elems_parse->scratch;