From a0403c0239c46b6af9aeb0c6ddab1e41146fa209 Mon Sep 17 00:00:00 2001 From: Aloka Dixit Date: Mon, 13 Mar 2023 21:59:25 -0700 Subject: [PATCH] EHT: Validate the puncturing bitmap for ACS Validate the generated puncturing bitmap against non-OFDMA patterns. Signed-off-by: Aloka Dixit --- src/ap/acs.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/ap/acs.c b/src/ap/acs.c index 99973f140..1181c7d58 100644 --- a/src/ap/acs.c +++ b/src/ap/acs.c @@ -722,7 +722,7 @@ static void acs_update_puncturing_bitmap(struct hostapd_iface *iface, int index_primary) { struct hostapd_config *conf = iface->conf; - struct hostapd_channel_data *adj_chan = NULL; + struct hostapd_channel_data *adj_chan = NULL, *first_chan = chan; int i; long double threshold; @@ -754,9 +754,16 @@ static void acs_update_puncturing_bitmap(struct hostapd_iface *iface, return; } + if (i == 0) + first_chan = adj_chan; + if (adj_chan->interference_factor > threshold) chan->punct_bitmap |= BIT(i); } + + if (!is_punct_bitmap_valid(bw, (chan->freq - first_chan->freq) / 20, + chan->punct_bitmap)) + chan->punct_bitmap = 0; } #endif /* CONFIG_IEEE80211BE */