3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-12-22 13:02:44 +01:00

scan: use oper_class/channel for OWE hidden scans

If these are included in the OWE transition IE use them to scan
for the OWE hidden network.
This commit is contained in:
James Prestwood 2021-09-22 12:34:17 -07:00 committed by Denis Kenzior
parent e798d4fe9d
commit 885c4c9632

View File

@ -671,6 +671,22 @@ uint32_t scan_active_full(uint64_t wdev_id,
trigger, notify, userdata, destroy); trigger, notify, userdata, destroy);
} }
static void scan_add_owe_freq(struct scan_freq_set *freqs,
const struct scan_bss *bss)
{
int freq;
if (bss->owe_trans->oper_class)
freq = oci_to_frequency(bss->owe_trans->oper_class,
bss->owe_trans->channel);
else
freq = bss->frequency;
L_WARN_ON(freq < 0);
scan_freq_set_add(freqs, freq);
}
static void add_owe_scan_cmd(struct scan_context *sc, struct scan_request *sr, static void add_owe_scan_cmd(struct scan_context *sc, struct scan_request *sr,
bool ignore_flush, bool ignore_flush,
struct scan_freq_set *freqs, struct scan_freq_set *freqs,
@ -682,7 +698,9 @@ static void add_owe_scan_cmd(struct scan_context *sc, struct scan_request *sr,
if (!freqs) { if (!freqs) {
tmp = scan_freq_set_new(); tmp = scan_freq_set_new();
scan_freq_set_add(tmp, bss->frequency);
scan_add_owe_freq(tmp, bss);
params.freqs = tmp; params.freqs = tmp;
} else } else
params.freqs = freqs; params.freqs = freqs;
@ -733,7 +751,7 @@ uint32_t scan_owe_hidden(uint64_t wdev_id, struct l_queue *list,
for (entry = l_queue_get_entries(list); entry; entry = entry->next) { for (entry = l_queue_get_entries(list); entry; entry = entry->next) {
bss = entry->data; bss = entry->data;
scan_freq_set_add(freqs, bss->frequency); scan_add_owe_freq(freqs, bss);
/* First */ /* First */
if (!ssid) { if (!ssid) {