aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSathishkumar Muruganandam <murugana@codeaurora.org>2018-07-25 12:46:20 (GMT)
committerJouni Malinen <j@w1.fi>2018-08-21 16:04:44 (GMT)
commit47abe29aa9865f475f0de187e5f3e21e39570fed (patch)
tree81e3ccc5458fc17a8050dcf0f53d826ab8a79170
parent307324bf79eb003fb98814e66ecbb1a8d5350083 (diff)
downloadhostap-47abe29aa9865f475f0de187e5f3e21e39570fed.zip
hostap-47abe29aa9865f475f0de187e5f3e21e39570fed.tar.gz
hostap-47abe29aa9865f475f0de187e5f3e21e39570fed.tar.bz2
hostapd: SET ht_capab support for disabling 40 MHz bandwidth
'hostapd_cli SET ht_capab' only checked for [HT40+] or [HT40-] or both to be present. Based on the offset + or -, secondary_channel is updated but HT20/VHT20 mode can be brought up only from config file and can't be done using the SET command when the current HT mode is HT40+ or HT40-. When managing AP+STA mode from userspace doing hostapd_cli: "disable -> set channel, ht_capab -> enable" sequence, channel switch from HT40/VHT40 to HT20/VHT20 was not possible with this SET ht_capab limitation. Cover this additional case by resetting secondary_channel to 0 for HT20/VHT20 when ht_capab has neither [HT40+] nor [HT40-] present. Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
-rw-r--r--hostapd/config_file.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/hostapd/config_file.c b/hostapd/config_file.c
index 37308db..0e86f10 100644
--- a/hostapd/config_file.c
+++ b/hostapd/config_file.c
@@ -1237,6 +1237,8 @@ static int hostapd_config_ht_capab(struct hostapd_config *conf,
conf->ht_capab |= HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET;
conf->ht40_plus_minus_allowed = 1;
}
+ if (!os_strstr(capab, "[HT40+]") && !os_strstr(capab, "[HT40-]"))
+ conf->secondary_channel = 0;
if (os_strstr(capab, "[SMPS-STATIC]")) {
conf->ht_capab &= ~HT_CAP_INFO_SMPS_MASK;
conf->ht_capab |= HT_CAP_INFO_SMPS_STATIC;