From 401cb8a661c5e7d796a17bb289209663a6c42741 Mon Sep 17 00:00:00 2001
From: Michael-CY Lee <michael-cy.lee@mediatek.com>
Date: Wed, 4 Oct 2023 11:12:52 +0800
Subject: [PATCH] hostapd: mtk: avoid unnecessary beacon update for 6 GHz
 co-location

There are two reasons to update beacon for 6 GHz co-location:
1. 6 GHz out-of-band discovery
2. MLD operational parameters update

BSS load update is unrelated with the above two reasons, and therefore is
not a case to update beacon for 6 GHz co-location.
Moreover, updating beacon for 6 GHz co-location when BSS load update
makes hostapd set beacon too frequently in a multiple BSSes case.

Besides, it is also not necessary to update beacon for 6 GHz BSS when
setting 2/5 GHz beacon. (i.e., no need for 2/5 GHz co-location)

This patch adds an new function to update beacon only for current BSS,
and uses the function duriong BSS load update.
Also it changes the condition check to make beacon update only for 6 GHz
co-location.

Signed-off-by: Michael Lee <michael-cy.lee@mediatek.com>
Signed-off-by: Money Wang <money.wang@mediatek.com>
---
 src/ap/beacon.c   | 8 +++++++-
 src/ap/beacon.h   | 1 +
 src/ap/bss_load.c | 2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/ap/beacon.c b/src/ap/beacon.c
index c67d08b..02f4f87 100644
--- a/src/ap/beacon.c
+++ b/src/ap/beacon.c
@@ -2098,6 +2098,12 @@ fail:
 }
 
 
+void ieee802_11_set_beacon_per_bss_only(struct hostapd_data *hapd)
+{
+	__ieee802_11_set_beacon(hapd);
+}
+
+
 int ieee802_11_set_beacon(struct hostapd_data *hapd)
 {
 	struct hostapd_iface *iface = hapd->iface;
@@ -2121,7 +2127,7 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd)
 		if (colocated == iface || !colocated || !colocated->conf)
 			continue;
 
-		if (is_6g == is_6ghz_op_class(colocated->conf->op_class))
+		if (!is_6g || is_6ghz_op_class(colocated->conf->op_class))
 			continue;
 
 		for (i = 0; i < colocated->num_bss; i++) {
diff --git a/src/ap/beacon.h b/src/ap/beacon.h
index c320825..b32b2a7 100644
--- a/src/ap/beacon.h
+++ b/src/ap/beacon.h
@@ -15,6 +15,7 @@ struct ieee80211_mgmt;
 void handle_probe_req(struct hostapd_data *hapd,
 		      const struct ieee80211_mgmt *mgmt, size_t len,
 		      int ssi_signal);
+void ieee802_11_set_beacon_per_bss_only(struct hostapd_data *hapd);
 int ieee802_11_set_beacon(struct hostapd_data *hapd);
 int ieee802_11_set_beacons(struct hostapd_iface *iface);
 int ieee802_11_update_beacons(struct hostapd_iface *iface);
diff --git a/src/ap/bss_load.c b/src/ap/bss_load.c
index 78fd9d8..9e247da 100644
--- a/src/ap/bss_load.c
+++ b/src/ap/bss_load.c
@@ -58,7 +58,7 @@ static void update_channel_utilization(void *eloop_data, void *user_data)
 		return;
 	}
 
-	ieee802_11_set_beacon(hapd);
+	ieee802_11_set_beacon_per_bss_only(hapd);
 
 	if (hapd->conf->chan_util_avg_period) {
 		iface->chan_util_samples_sum += iface->channel_utilization;
-- 
2.25.1

