]> git.baikalelectronics.ru Git - kernel.git/commitdiff
cfg80211: retrieve S1G operating channel number
authorKieran Frewen <kieran.frewen@morsemicro.com>
Wed, 20 Apr 2022 04:13:20 +0000 (04:13 +0000)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 4 May 2022 09:33:52 +0000 (11:33 +0200)
When retrieving the S1G channel number from IEs, we should retrieve
the operating channel instead of the primary channel. The S1G operation
element specifies the main channel of operation as the oper channel,
unlike for HT and HE which specify their main channel of operation as
the primary channel.

Signed-off-by: Kieran Frewen <kieran.frewen@morsemicro.com>
Signed-off-by: Bassem Dawood <bassem@morsemicro.com>
Link: https://lore.kernel.org/r/20220420041321.3788789-1-kieran.frewen@morsemicro.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/scan.c

index 4a6d8643291064d4dd41c6e886477821b18e8982..6d82bd9eaf8c7375f36d2fc5ada36e307d38de43 100644 (file)
@@ -1829,7 +1829,7 @@ int cfg80211_get_ies_channel_number(const u8 *ie, size_t ielen,
                if (tmp && tmp->datalen >= sizeof(struct ieee80211_s1g_oper_ie)) {
                        struct ieee80211_s1g_oper_ie *s1gop = (void *)tmp->data;
 
-                       return s1gop->primary_ch;
+                       return s1gop->oper_ch;
                }
        } else {
                tmp = cfg80211_find_elem(WLAN_EID_DS_PARAMS, ie, ielen);