From: Denis Kenzior <denkenz@gmail.com>
To: James Prestwood <prestwoj@gmail.com>, iwd@lists.linux.dev
Subject: Re: [PATCH v4 2/3] scan: split full scans by band to enable 6GHz
Date: Fri, 5 Aug 2022 12:03:35 -0500 [thread overview]
Message-ID: <3397e656-b6ed-1fce-8be9-8b7a72caa48e@gmail.com> (raw)
In-Reply-To: <20220804220249.508207-2-prestwoj@gmail.com>
Hi James,
On 8/4/22 17:02, James Prestwood wrote:
> The kernel's regulatory domain updates after some number of beacons
> are processed. This triggers a regulatory domain update (and wiphy
> dump) but only after a scan request. This means a full scan started
> prior to the regdom being set will not include any 6Ghz BSS's even
> if the regdom was unlocked during the scan.
>
> This can be worked around by splitting up a large scan request into
> multiple requests allowing one of the first commands to trigger a
> regdom update. Once the regdom updates (and wiphy dumps) we are
> hopefully still scanning and could append an additional request to
> scan 6GHz.
> ---
> src/scan.c | 85 ++++++++++++++++++++++++++++++++++++++++++++++++------
> 1 file changed, 76 insertions(+), 9 deletions(-)
>
<snip>
> + /*
> + * Otherwise a full spectrum scan will likely open up the 6GHz
> + * band. The problem is the regdom update occurs after an
> + * individual scan request so a single request isn't going to
> + * include potential 6GHz results.
> + *
> + * Instead we can break this full scan up into individual bands
> + * and increase our chances of the regdom updating after one of
> + * the earlier requests. If it does update to allow 6GHz an
> + * extra 6GHz-only passive scan can be appended to this request
> + * at that time.
> + */
> + subsets[0] = scan_freq_set_copy_bands(allowed, BAND_FREQ_2_4_GHZ);
> + subsets[1] = scan_freq_set_copy_bands(allowed, BAND_FREQ_5_GHZ);
I updated these to use _clone() and ...
> +
> + scan_freq_set_free(allowed);
> +
> + for(i = 0; i < L_ARRAY_SIZE(subsets); i++) {
> + scan_build_next_cmd(sr->cmds, sc, passive, params,
> + subsets[i]);
added a scan_freq_set_isempty() check here to skip building the command in the
unlikely event that the set is empty.
> + scan_freq_set_free(subsets[i]);
> + }
> +
> + sr->split = true;
> +}
> +
> static int scan_request_send_trigger(struct scan_context *sc,
> struct scan_request *sr)
> {
Applied, thanks!
Regards,
-Denis
next prev parent reply other threads:[~2022-08-05 17:21 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-04 22:02 [PATCH v4 1/3] util: add scan_freq_set_copy_bands James Prestwood
2022-08-04 22:02 ` [PATCH v4 2/3] scan: split full scans by band to enable 6GHz James Prestwood
2022-08-05 17:03 ` Denis Kenzior [this message]
2022-08-04 22:02 ` [PATCH v4 3/3] scan: watch for regdom updates " James Prestwood
2022-08-05 16:54 ` [PATCH v4 1/3] util: add scan_freq_set_copy_bands Denis Kenzior
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3397e656-b6ed-1fce-8be9-8b7a72caa48e@gmail.com \
--to=denkenz@gmail.com \
--cc=iwd@lists.linux.dev \
--cc=prestwoj@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.