]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
wifi: ieee80211: Fix the common size calculation for reconfiguration ML
authorIlan Peer <ilan.peer@intel.com>
Sun, 18 Jun 2023 18:49:45 +0000 (21:49 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 11 Jul 2023 17:39:30 +0000 (19:39 +0200)
[ Upstream commit ce6e1f600b0cfc563a7d607de702262a58cd835d ]

The common information length is found in the first octet of the common
information.

Fixes: 0f48b8b88aa9 ("wifi: ieee80211: add definitions for multi-link element")
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.3c7ed4817338.I42ef706cb827b4dade6e4ffbb6e7f341eaccd398@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/linux/ieee80211.h

index 2463bdd2a382d8df8e2eca2951f1c4de12b2375d..1e25c9060225cd14e81885ab93dceabcc6bb0226 100644 (file)
@@ -4592,15 +4592,12 @@ static inline u8 ieee80211_mle_common_size(const u8 *data)
        case IEEE80211_ML_CONTROL_TYPE_BASIC:
        case IEEE80211_ML_CONTROL_TYPE_PREQ:
        case IEEE80211_ML_CONTROL_TYPE_TDLS:
+       case IEEE80211_ML_CONTROL_TYPE_RECONF:
                /*
                 * 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_PRIO_ACCESS:
                if (control & IEEE80211_MLC_PRIO_ACCESS_PRES_AP_MLD_MAC_ADDR)
                        common += ETH_ALEN;