From: Aditya Kumar Singh <aditya.kumar.singh@oss.qualcomm.com>
To: Johannes Berg <johannes@sipsolutions.net>
Cc: linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH wireless-next v3] wifi: mac80211: consider links for validating SCAN_FLAG_AP in scan request during MLO
Date: Wed, 9 Jul 2025 08:17:20 +0530 [thread overview]
Message-ID: <114409da-5d1e-40ed-aa8e-3bcb769ac0a1@oss.qualcomm.com> (raw)
In-Reply-To: <f5148f63e6f96fd18558dbb7f49d090aec931745.camel@sipsolutions.net>
On 7/8/2025 4:16 PM, Johannes Berg wrote:
> On Wed, 2025-06-25 at 18:31 +0530, Aditya Kumar Singh wrote:
>>
>> - if (ieee80211_num_beaconing_links(sdata) &&
>> - (!(wiphy->features & NL80211_FEATURE_AP_SCAN) ||
>> - !(req->flags & NL80211_SCAN_FLAG_AP)))
>> - return -EOPNOTSUPP;
>> + for (link_id = 0; link_id < IEEE80211_MLD_MAX_NUM_LINKS;
>> + link_id++) {
>> + link = sdata_dereference(sdata->link[link_id], sdata);
>> + if (!link)
>> + continue;
>
> for_each_link_data()
Sure. When I was writing this, this macro was not present hence did not
use it. Now that it is there, I will use it. Thanks for pointing it out.
>
>> +
>> + /* if the link is not beaconing, ignore it */
>> + if (!sdata_dereference(link->u.ap.beacon, sdata))
>> + continue;
>> +
>> + /* If we are here then at least one of the link is
>> + * beaconing and since radio level information is
>> + * not present or single underlying radio is present,
>> + * no point in checking further and hence return if
>> + * flag requirements are not met.
>> + */
>> + if (wiphy->n_radio < 2) {
>> + if (!(wiphy->features & NL80211_FEATURE_AP_SCAN) ||
>> + !(req->flags & NL80211_SCAN_FLAG_AP))
>> + return -EOPNOTSUPP;
>> +
>> + continue;
>> + }
>
> Is that _really_ worth special-casing in the scan control path? It's not
> like this is a performance question here.
>
> Maybe ieee80211_is_radio_idx_in_scan_req() shouldn't WARN_ON() then or
> something, so we can reuse it. Or maybe (better?) just reorder the
> checks there, if the chan_radio_idx==-1 and radio_idx==-1 would return
> first, and WARN only if we found a scan channel that isn't covered by a
> radio?
sure reordering seems much better. Thanks for the suggestion, will change.
>
> And <2 seems really strange anyway, ==1 should basically never happen,
> it's equivalent to ==0, as in no list of radios?
That is correct. If underlying wiphy does not advertise, it would be 0.
And if it advertises, ideally it should be 2 or more (otherwise why
advertising?) But, there is no check for 1. So a radio can choose to
advertise but keep n_radios as 1. And having n_radio 1 is also same as
not advertising it. Hence to ensure these kicks in only when we know
n_radios is greater than 1, < 2 is checked. Same way other two places
also it is used.
--
Aditya
prev parent reply other threads:[~2025-07-09 2:47 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-25 13:01 Aditya Kumar Singh
2025-07-08 10:46 ` Johannes Berg
2025-07-09 2:47 ` Aditya Kumar Singh [this message]
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=114409da-5d1e-40ed-aa8e-3bcb769ac0a1@oss.qualcomm.com \
--to=aditya.kumar.singh@oss.qualcomm.com \
--cc=johannes@sipsolutions.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®