[PATCH 16/16] hostapd: MLD: remove restriction of disabling first link bss at last
Aditya Kumar Singh
quic_adisi at quicinc.com
Wed Mar 6 09:39:47 PST 2024
Currently first link BSS is always disabled at last. However, now first
BSS can be dynamically adjusted. Hence remove such restriction.
Signed-off-by: Aditya Kumar Singh <quic_adisi at quicinc.com>
---
hostapd/ctrl_iface.c | 17 +----------------
src/ap/hostapd.c | 24 ------------------------
2 files changed, 1 insertion(+), 40 deletions(-)
diff --git a/hostapd/ctrl_iface.c b/hostapd/ctrl_iface.c
index 714d09837605..300042848bab 100644
--- a/hostapd/ctrl_iface.c
+++ b/hostapd/ctrl_iface.c
@@ -3503,7 +3503,6 @@ static void hostapd_disable_iface_bss(struct hostapd_iface *iface)
static int hostapd_ctrl_iface_disable_mld(struct hostapd_iface *iface)
{
unsigned int i;
- struct hostapd_iface *first_iface = NULL;
if (!iface || !iface->bss[0]->conf->mld_ap) {
wpa_printf(MSG_ERROR,
@@ -3523,26 +3522,17 @@ static int hostapd_ctrl_iface_disable_mld(struct hostapd_iface *iface)
!hostapd_is_ml_partner(h_hapd, iface->bss[0]))
continue;
- if (hostapd_mld_is_first_bss(h_hapd)) {
- first_iface = h_iface;
- continue;
- }
hostapd_disable_iface_bss(iface);
}
- if (first_iface)
- hostapd_disable_iface_bss(first_iface);
-
/* Then, fully disable interfaces */
-
for (i = 0; i < iface->interfaces->count; ++i) {
struct hostapd_iface *h_iface = iface->interfaces->iface[i];
struct hostapd_data *h_hapd = h_iface->bss[0];
struct hostapd_bss_config *h_conf = h_hapd->conf;
if (!h_conf->mld_ap ||
- !hostapd_is_ml_partner(h_hapd, iface->bss[0]) ||
- hostapd_mld_is_first_bss(h_hapd))
+ !hostapd_is_ml_partner(h_hapd, iface->bss[0]))
continue;
if (hostapd_disable_iface(h_iface)) {
@@ -3551,11 +3541,6 @@ static int hostapd_ctrl_iface_disable_mld(struct hostapd_iface *iface)
}
}
- if (first_iface && hostapd_disable_iface(first_iface)) {
- wpa_printf(MSG_ERROR, "Disabling AP MLD failed");
- return -1;
- }
-
return 0;
}
diff --git a/src/ap/hostapd.c b/src/ap/hostapd.c
index 863547c0de33..842a527466c0 100644
--- a/src/ap/hostapd.c
+++ b/src/ap/hostapd.c
@@ -3495,30 +3495,6 @@ int hostapd_disable_iface(struct hostapd_iface *hapd_iface)
return -1;
}
-#ifdef CONFIG_IEEE80211BE
- if (hapd_iface->bss[0]->conf->mld_ap &&
- hostapd_mld_is_first_bss((hapd_iface->bss[0]))) {
- /* Do not allow mld_first_bss disabling before other BSSs */
- for (j = 0; j < hapd_iface->interfaces->count; ++j) {
- struct hostapd_iface *h_iface =
- hapd_iface->interfaces->iface[j];
- struct hostapd_data *h_hapd = h_iface->bss[0];
- struct hostapd_bss_config *h_conf = h_hapd->conf;
-
- if (!h_conf->mld_ap ||
- !hostapd_is_ml_partner(h_hapd, hapd_iface->bss[0]) ||
- h_iface == hapd_iface)
- continue;
-
- if (h_iface->state != HAPD_IFACE_DISABLED) {
- wpa_printf(MSG_INFO,
- "Do not allow disable mld_first_bss first");
- return -1;
- }
- }
- }
-#endif /* CONFIG_IEEE80211BE */
-
wpa_msg(hapd_iface->bss[0]->msg_ctx, MSG_INFO, AP_EVENT_DISABLED);
driver = hapd_iface->bss[0]->driver;
drv_priv = hapd_iface->bss[0]->drv_priv;
--
2.25.1
More information about the Hostap
mailing list