mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-10-29 01:22:25 +00:00
hostapd: improve multi radio ACS
Fixes: WIFI-14402 Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
20
feeds/qca/hostapd/patches/zzz-110-fix_mld_warnings.patch
Normal file
20
feeds/qca/hostapd/patches/zzz-110-fix_mld_warnings.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
--- a/src/ap/ieee802_11.c
|
||||
+++ b/src/ap/ieee802_11.c
|
||||
@@ -3103,7 +3103,7 @@ static void handle_auth(struct hostapd_d
|
||||
return;
|
||||
}
|
||||
#endif /* CONFIG_SAE */
|
||||
- {
|
||||
+ if (hapd->mld) {
|
||||
struct hostapd_ft_over_ds_ml_sta_entry *entry;
|
||||
|
||||
entry = ap_get_ft_ds_ml_sta(hapd, sa);
|
||||
@@ -5589,7 +5589,7 @@ static void handle_assoc(struct hostapd_
|
||||
if (sta && reassoc)
|
||||
memcpy(sta->origin_ap, mgmt->u.reassoc_req.current_ap, 6);
|
||||
#ifdef CONFIG_IEEE80211R_AP
|
||||
- if (!sta) {
|
||||
+ if (!sta && hapd->mld) {
|
||||
wpa_printf(MSG_DEBUG,
|
||||
"FT over DS: Check for STA entry with ML address");
|
||||
sta = get_sta_from_ft_ds_list(hapd, mgmt, len, reassoc);
|
||||
34
feeds/qca/hostapd/patches/zzz-120-fix_multi_radio_acs.patch
Normal file
34
feeds/qca/hostapd/patches/zzz-120-fix_multi_radio_acs.patch
Normal file
@@ -0,0 +1,34 @@
|
||||
--- a/src/drivers/driver_nl80211_scan.c
|
||||
+++ b/src/drivers/driver_nl80211_scan.c
|
||||
@@ -423,6 +423,9 @@ int wpa_driver_nl80211_scan(struct i802_
|
||||
goto fail;
|
||||
}
|
||||
|
||||
+ if (ret == -EBUSY)
|
||||
+ goto fail;
|
||||
+
|
||||
/*
|
||||
* mac80211 does not allow scan requests in AP mode, so
|
||||
* try to do this in station mode.
|
||||
--- a/src/ap/acs.h
|
||||
+++ b/src/ap/acs.h
|
||||
@@ -15,7 +15,7 @@
|
||||
enum hostapd_chan_status acs_init(struct hostapd_iface *iface);
|
||||
void acs_cleanup(struct hostapd_iface *iface);
|
||||
|
||||
-#define ACS_SCAN_RETRY_MAX_COUNT 15
|
||||
+#define ACS_SCAN_RETRY_MAX_COUNT 50
|
||||
#define ACS_SCAN_RETRY_INTERVAL 5
|
||||
|
||||
#else /* CONFIG_ACS */
|
||||
--- a/src/ap/acs.c
|
||||
+++ b/src/ap/acs.c
|
||||
@@ -1496,7 +1496,7 @@ static int acs_request_scan(struct hosta
|
||||
|
||||
if (ret == -EBUSY) {
|
||||
iface->acs_num_retries++;
|
||||
- wpa_printf(MSG_ERROR, "Failed to request acs scan ret=%d (%s) - try to scan after %d seconds",
|
||||
+ wpa_printf(MSG_DEBUG, "Failed to request acs scan ret=%d (%s) - try to scan after %d seconds",
|
||||
ret, strerror(-ret), ACS_SCAN_RETRY_INTERVAL);
|
||||
eloop_cancel_timeout(acs_scan_retry, iface, NULL);
|
||||
eloop_register_timeout(ACS_SCAN_RETRY_INTERVAL, 0,
|
||||
Reference in New Issue
Block a user