mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-01 10:42:11 +00:00
wifi: mac80211: don't select link ID if not provided in scan request
If scan request doesn't include a link ID to be used for TSF
reporting, don't select it as it might become inactive before
scan is actually started by the driver.
Instead, let the driver select one of the active links.
Fixes: cbde0b49f2
("wifi: mac80211: Extend support for scanning while MLO connected")
Signed-off-by: Ayala Beker <ayala.beker@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240320091155.a6b643a15755.Ic28ed9a611432387b7f85e9ca9a97a4ce34a6e0f@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
e69b6cbebd
commit
80b0aacd1a
@ -707,19 +707,11 @@ static int __ieee80211_start_scan(struct ieee80211_sub_if_data *sdata,
|
||||
return -EBUSY;
|
||||
|
||||
/* For an MLO connection, if a link ID was specified, validate that it
|
||||
* is indeed active. If no link ID was specified, select one of the
|
||||
* active links.
|
||||
* is indeed active.
|
||||
*/
|
||||
if (ieee80211_vif_is_mld(&sdata->vif)) {
|
||||
if (req->tsf_report_link_id >= 0) {
|
||||
if (!(sdata->vif.active_links &
|
||||
BIT(req->tsf_report_link_id)))
|
||||
return -EINVAL;
|
||||
} else {
|
||||
req->tsf_report_link_id =
|
||||
__ffs(sdata->vif.active_links);
|
||||
}
|
||||
}
|
||||
if (ieee80211_vif_is_mld(&sdata->vif) && req->tsf_report_link_id >= 0 &&
|
||||
!(sdata->vif.active_links & BIT(req->tsf_report_link_id)))
|
||||
return -EINVAL;
|
||||
|
||||
if (!__ieee80211_can_leave_ch(sdata))
|
||||
return -EBUSY;
|
||||
|
Loading…
Reference in New Issue
Block a user