wifi: cfg80211/mac80211: Fix ML element common size calculation
[ Upstream commit 1403b109c9a5244dc6ab79154f04eecc209ef3d2 ] The common size is part of the length in the data so don't add it again. Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Stable-dep-of: ce6e1f600b0c ("wifi: ieee80211: Fix the common size calculation for reconfiguration ML") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
132b7129c5
commit
ffb0733664
@ -4573,18 +4573,17 @@ static inline u8 ieee80211_mle_common_size(const u8 *data)
|
||||
|
||||
switch (u16_get_bits(control, IEEE80211_ML_CONTROL_TYPE)) {
|
||||
case IEEE80211_ML_CONTROL_TYPE_BASIC:
|
||||
common += sizeof(struct ieee80211_mle_basic_common_info);
|
||||
break;
|
||||
case IEEE80211_ML_CONTROL_TYPE_PREQ:
|
||||
common += sizeof(struct ieee80211_mle_preq_common_info);
|
||||
case IEEE80211_ML_CONTROL_TYPE_TDLS:
|
||||
/*
|
||||
* The length is the first octet pointed by mle->variable so no
|
||||
* need to add anything
|
||||
*/
|
||||
break;
|
||||
case IEEE80211_ML_CONTROL_TYPE_RECONF:
|
||||
if (control & IEEE80211_MLC_RECONF_PRES_MLD_MAC_ADDR)
|
||||
common += ETH_ALEN;
|
||||
return common;
|
||||
case IEEE80211_ML_CONTROL_TYPE_TDLS:
|
||||
common += sizeof(struct ieee80211_mle_tdls_common_info);
|
||||
break;
|
||||
case IEEE80211_ML_CONTROL_TYPE_PRIO_ACCESS:
|
||||
if (control & IEEE80211_MLC_PRIO_ACCESS_PRES_AP_MLD_MAC_ADDR)
|
||||
common += ETH_ALEN;
|
||||
|
Loading…
Reference in New Issue
Block a user