[PATCH v2] AP: Allow downgrading to 20MHz based on OBSS results

Aloka Dixit <[email protected]>
Newsgroups gmane.linux.drivers.hostap
Message-ID <[email protected]>
Before operating on 40MHz in 2.4GHz, AP looks for overlapping
BSS in neighboring channels. Upon OBSS detection, AP should
downgrade to 20MHz bandwidth. This decistion is broken now
for HE40. As of now ieee80211n_check_scan skips the rollback
step for 20MHz as allowed_ht40_channel_pair returns true
when primary and secondary channels are same. Fix that.

Signed-off-by: Aloka Dixit <[email protected]>
---
 src/ap/hw_features.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/ap/hw_features.c b/src/ap/hw_features.c
index 83aecade3bc3..142c4e442f4e 100644
--- a/src/ap/hw_features.c
+++ b/src/ap/hw_features.c
@@ -314,7 +314,7 @@ static void ieee80211n_check_scan(struct hostapd_iface *iface)
 {
 	struct wpa_scan_results *scan_res;
 	int oper40;
-	int res;
+	int res = 0;
 
 	/* Check list of neighboring BSSes (from scan) to see whether 40 MHz is
 	 * allowed per IEEE Std 802.11-2012, 10.15.3.2 */
@@ -350,7 +350,9 @@ static void ieee80211n_check_scan(struct hostapd_iface *iface)
 		}
 	}
 
-	res = ieee80211n_allowed_ht40_channel_pair(iface);
+	if (iface->conf->secondary_channel)
+		res = ieee80211n_allowed_ht40_channel_pair(iface);
+
 	if (!res) {
 		iface->conf->secondary_channel = 0;
 		hostapd_set_oper_centr_freq_seg0_idx(iface->conf, 0);
-- 
2.7.4
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.