mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-22 21:22:37 +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:
parent
e798d4fe9d
commit
885c4c9632
22
src/scan.c
22
src/scan.c
@ -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) {
|
||||||
|
Loading…
Reference in New Issue
Block a user