[RESEND] Fix channel switch wrapper doesn't build when switching from HT to VHT/HE

Peter Huang peterhuang at realtek.com
Wed Aug 18 04:15:11 PDT 2021


From 5f92f3b617089c2bd70e9c6269989b851c517733 Mon Sep 17 00:00:00 2001
From: peterhuang <peterhuang at realtek.com>
Date: Wed, 18 Aug 2021 18:57:28 +0800
Subject: [PATCH] Fix channel switch wrapper doesn't build when switching from HT to VHT/HE

Because ieee80211ac and ieee80211ax don't update before channel switch done,
hostapd doesn't build the Channel Switch Wrapper element
when it switches from HT to bandwidth more than 40M of VHT/HE.

Signed-off-by: peterhuang <peterhuang at realtek.com>
---
 src/ap/beacon.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/ap/beacon.c b/src/ap/beacon.c
index 15fc2b3db..096de6a2a 100644
--- a/src/ap/beacon.c
+++ b/src/ap/beacon.c
@@ -569,9 +569,7 @@ static u8 * hostapd_gen_probe_resp(struct hostapd_data *hapd,
 		pos = hostapd_eid_txpower_envelope(hapd, pos);
 #endif /* CONFIG_IEEE80211AX */
 
-	if ((hapd->iconf->ieee80211ac && !hapd->conf->disable_11ac) ||
-	    (hapd->iconf->ieee80211ax && !hapd->conf->disable_11ax))
-		pos = hostapd_eid_wb_chsw_wrapper(hapd, pos);
+	pos = hostapd_eid_wb_chsw_wrapper(hapd, pos);
 
 	pos = hostapd_eid_fils_indic(hapd, pos, 0);
 	pos = hostapd_get_rsnxe(hapd, pos, epos - pos);
@@ -1558,9 +1556,7 @@ int ieee802_11_build_ap_params(struct hostapd_data *hapd,
 		tailpos = hostapd_eid_txpower_envelope(hapd, tailpos);
 #endif /* CONFIG_IEEE80211AX */
 
-	if ((hapd->iconf->ieee80211ac && !hapd->conf->disable_11ac) ||
-	    (hapd->iconf->ieee80211ax && !hapd->conf->disable_11ax))
-		tailpos = hostapd_eid_wb_chsw_wrapper(hapd, tailpos);
+	tailpos = hostapd_eid_wb_chsw_wrapper(hapd, tailpos);
 
 	tailpos = hostapd_eid_fils_indic(hapd, tailpos, 0);
 	tailpos = hostapd_get_rsnxe(hapd, tailpos, tailend - tailpos);
-- 
2.25.1



More information about the Hostap mailing list