summaryrefslogtreecommitdiff
path: root/net/mac80211/util.c
diff options
context:
space:
mode:
authorIlan Peer <ilan.peer@intel.com>2023-06-18 21:49:44 +0300
committerJohannes Berg <johannes.berg@intel.com>2023-06-19 12:05:30 +0200
commitdbd396636870b30c2c11c098bfc30e124198d29f (patch)
tree5d3bee36b8fb5b6de74e7f1bb9847954269570de /net/mac80211/util.c
parente8c2af660ba0790afd14d5cbc2fd05c6dc85e207 (diff)
wifi: mac80211: Include Multi-Link in CRC calculation
Include the Multi-Link elements found in beacon frames in the CRC calculation, as these elements are intended to reflect changes in the AP MLD state. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Gregory Greenman <gregory.greenman@intel.com> Link: https://lore.kernel.org/r/20230618214435.ae8246b93d85.Ia64b45198de90ff7f70abcc997841157f148ea40@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/util.c')
-rw-r--r--net/mac80211/util.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index ef53d3baece7..6c52c597c187 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -987,6 +987,10 @@ ieee80211_parse_extension_element(u32 *crc,
const struct ieee80211_multi_link_elem *mle =
(void *)data;
+ if (crc)
+ *crc = crc32_be(*crc, (void *)elem,
+ elem->datalen + 2);
+
switch (le16_get_bits(mle->control,
IEEE80211_ML_CONTROL_TYPE)) {
case IEEE80211_ML_CONTROL_TYPE_BASIC: