mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-12-21 11:22:50 +00:00
Some checks failed
Build OpenWrt/uCentral images / build (cig_wf186h) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf186w) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf188n) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf189) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cig_wf196) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cybertan_eww631-a1) (push) Has been cancelled
Build OpenWrt/uCentral images / build (cybertan_eww631-b1) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap101) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap102) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap104) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap105) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap111) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_eap112) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101-6e) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101e) (push) Has been cancelled
Build OpenWrt/uCentral images / build (edgecore_oap101e-6e) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x_2) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x_3) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4x_w) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4xe) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4xi) (push) Has been cancelled
Build OpenWrt/uCentral images / build (hfcl_ion4xi_w) (push) Has been cancelled
Build OpenWrt/uCentral images / build (indio_um-305ax) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sercomm_ap72tip) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sonicfi_rap630c-311g) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sonicfi_rap630w-211g) (push) Has been cancelled
Build OpenWrt/uCentral images / build (sonicfi_rap630w-311g) (push) Has been cancelled
Build OpenWrt/uCentral images / build (udaya_a6-id2) (push) Has been cancelled
Build OpenWrt/uCentral images / build (udaya_a6-od2) (push) Has been cancelled
Build OpenWrt/uCentral images / build (wallys_dr5018) (push) Has been cancelled
Build OpenWrt/uCentral images / build (wallys_dr6018) (push) Has been cancelled
Build OpenWrt/uCentral images / build (wallys_dr6018-v4) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_ax820) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_ax840) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_fap640) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_fap650) (push) Has been cancelled
Build OpenWrt/uCentral images / build (yuncore_fap655) (push) Has been cancelled
Build OpenWrt/uCentral images / trigger-testing (push) Has been cancelled
Build OpenWrt/uCentral images / create-x64_vm-ami (push) Has been cancelled
Signed-off-by: John Crispin <john@phrozen.org>
62 lines
2.3 KiB
Diff
62 lines
2.3 KiB
Diff
From 1bf64ee6e25ff8256337bfe9c13ceaf27c06c2aa Mon Sep 17 00:00:00 2001
|
|
From: Aditya Kumar Singh <quic_adisi@quicinc.com>
|
|
Date: Wed, 1 Nov 2023 22:36:40 +0530
|
|
Subject: [PATCH 3/4] hostapd: fix simultaneous scanning failure in case of MLO
|
|
|
|
Currently only 1 scan can be performed on per phy level at a time
|
|
in mac80211. Due to this, if via other underlying radio, a scan
|
|
request is sent, kernel returns -EBUSY. And then hostapd would
|
|
try to set the interface in station mode if it was originally
|
|
in AP mode and retry sending a scan request. However, this
|
|
behaviour is expected in case of multi link operation and hence
|
|
there is no need to switch the mode as such.
|
|
|
|
Hence, add logic to not change the nl mode if kernel returns
|
|
-EBUSY during multi link AP operation. The caller can accordingly
|
|
decide and if needed, it can re-schedule a scan request after
|
|
some time.
|
|
|
|
Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
|
|
---
|
|
src/drivers/driver_nl80211_scan.c | 24 ++++++++++++++++++++++++
|
|
1 file changed, 24 insertions(+)
|
|
|
|
diff --git a/src/drivers/driver_nl80211_scan.c b/src/drivers/driver_nl80211_scan.c
|
|
index 5173accf2338..a5fe955555b1 100644
|
|
--- a/src/drivers/driver_nl80211_scan.c
|
|
+++ b/src/drivers/driver_nl80211_scan.c
|
|
@@ -398,6 +398,30 @@ int wpa_driver_nl80211_scan(struct i802_bss *bss,
|
|
if (drv->hostapd && is_ap_interface(drv->nlmode)) {
|
|
enum nl80211_iftype old_mode = drv->nlmode;
|
|
|
|
+ /* For Multi Link BSS, retry scan if any other links are busy scanning */
|
|
+ if (ret == -EBUSY && nl80211_link_valid(bss, params->mlo_link_id)) {
|
|
+ struct i802_bss *link_bss;
|
|
+
|
|
+ wpa_printf(MSG_DEBUG,
|
|
+ "nl80211: Scan trigger on Multi Link BSS failed (requested link=%d interface %s)",
|
|
+ params->mlo_link_id, bss->ifname);
|
|
+
|
|
+ for (link_bss = drv->first_bss; link_bss; link_bss = link_bss->next)
|
|
+ if (link_bss->scan_link)
|
|
+ break;
|
|
+
|
|
+ if (!link_bss) {
|
|
+ wpa_printf(MSG_DEBUG,
|
|
+ "nl80211: Interface information already running scan not available");
|
|
+ goto fail;
|
|
+ }
|
|
+
|
|
+ wpa_printf(MSG_DEBUG,
|
|
+ "nl80211: Scan already running on interface %s link %d",
|
|
+ link_bss->ifname, link_bss->scan_link->link_id);
|
|
+ goto fail;
|
|
+ }
|
|
+
|
|
/*
|
|
* mac80211 does not allow scan requests in AP mode, so
|
|
* try to do this in station mode.
|
|
--
|
|
2.17.1
|
|
|