wpa_supplicant: Fix frequency config for VHT/HE cases

Fix compilation without CONFIG_P2P and only set secondary channel seg
idx if we use a mode supporting a sec channel for VHT/HE.

Signed-off-by: Markus Theil <markus.theil@tu-ilmenau.de>
This commit is contained in:
Markus Theil 2020-10-14 21:31:15 +02:00 committed by Jouni Malinen
parent 0747432efd
commit d34b33451c

View file

@ -52,8 +52,8 @@ static void wpas_conf_ap_vht(struct wpa_supplicant *wpa_s,
#ifdef CONFIG_P2P #ifdef CONFIG_P2P
u8 center_chan = 0; u8 center_chan = 0;
u8 channel = conf->channel; u8 channel = conf->channel;
u8 freq_seg_idx;
#endif /* CONFIG_P2P */ #endif /* CONFIG_P2P */
u8 freq_seg_idx;
if (!conf->secondary_channel) if (!conf->secondary_channel)
goto no_vht; goto no_vht;
@ -62,24 +62,28 @@ static void wpas_conf_ap_vht(struct wpa_supplicant *wpa_s,
if (ssid->max_oper_chwidth) if (ssid->max_oper_chwidth)
hostapd_set_oper_chwidth(conf, ssid->max_oper_chwidth); hostapd_set_oper_chwidth(conf, ssid->max_oper_chwidth);
ieee80211_freq_to_chan(ssid->vht_center_freq2, if (hostapd_get_oper_chwidth(conf) == CHANWIDTH_80P80MHZ) {
&freq_seg_idx); ieee80211_freq_to_chan(ssid->vht_center_freq2,
hostapd_set_oper_centr_freq_seg1_idx(conf, freq_seg_idx); &freq_seg_idx);
hostapd_set_oper_centr_freq_seg1_idx(conf, freq_seg_idx);
}
if (!ssid->p2p_group) { if (!ssid->p2p_group) {
if (!ssid->vht_center_freq1 || if (!ssid->vht_center_freq1)
hostapd_get_oper_chwidth(conf) == CHANWIDTH_USE_HT)
goto no_vht; goto no_vht;
ieee80211_freq_to_chan(ssid->vht_center_freq1, ieee80211_freq_to_chan(ssid->vht_center_freq1,
&freq_seg_idx); &freq_seg_idx);
hostapd_set_oper_centr_freq_seg0_idx(conf, freq_seg_idx); hostapd_set_oper_centr_freq_seg0_idx(conf, freq_seg_idx);
wpa_printf(MSG_DEBUG, "VHT seg0 index %d for AP",
hostapd_get_oper_centr_freq_seg0_idx(conf)); wpa_printf(MSG_DEBUG,
"VHT seg0 index %d and seg1 index %d for AP",
hostapd_get_oper_centr_freq_seg0_idx(conf),
hostapd_get_oper_centr_freq_seg1_idx(conf));
return; return;
} }
#ifdef CONFIG_P2P #ifdef CONFIG_P2P
switch (conf->vht_oper_chwidth) { switch (hostapd_get_oper_chwidth(conf)) {
case CHANWIDTH_80MHZ: case CHANWIDTH_80MHZ:
case CHANWIDTH_80P80MHZ: case CHANWIDTH_80P80MHZ:
center_chan = wpas_p2p_get_vht80_center(wpa_s, mode, channel); center_chan = wpas_p2p_get_vht80_center(wpa_s, mode, channel);