Use secondary channel provided by ACS for HT40 if valid

Previously, hostapd ignored the secondary channel provided by ACS if
both HT40+ and HT40- are set in hostapd.conf. This change selects such
channel for HT40 if it's valid, which is more reasonable.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
Qiwei Cai 2020-01-19 10:37:26 +08:00 committed by Jouni Malinen
parent e0d9f5fc15
commit c4bab72d96

View file

@ -879,10 +879,11 @@ static int hostapd_is_usable_chans(struct hostapd_iface *iface)
if (!iface->conf->secondary_channel)
return 1;
if (hostapd_is_usable_chan(iface, iface->freq +
iface->conf->secondary_channel * 20, 0))
return 1;
if (!iface->conf->ht40_plus_minus_allowed)
return hostapd_is_usable_chan(
iface,
iface->freq + iface->conf->secondary_channel * 20, 0);
return 0;
/* Both HT40+ and HT40- are set, pick a valid secondary channel */
secondary_freq = iface->freq + 20;