diff options
Diffstat (limited to 'wpa_supplicant/ap.c')
| -rw-r--r-- | wpa_supplicant/ap.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c index 4e191694296bb..4e3c2814d0f32 100644 --- a/wpa_supplicant/ap.c +++ b/wpa_supplicant/ap.c @@ -67,7 +67,7 @@ static void wpas_conf_ap_vht(struct wpa_supplicant *wpa_s, if (!ssid->p2p_group) { if (!ssid->vht_center_freq1 || - conf->vht_oper_chwidth == VHT_CHANWIDTH_USE_HT) + conf->vht_oper_chwidth == CHANWIDTH_USE_HT) goto no_vht; ieee80211_freq_to_chan(ssid->vht_center_freq1, &conf->vht_oper_centr_freq_seg0_idx); @@ -78,14 +78,14 @@ static void wpas_conf_ap_vht(struct wpa_supplicant *wpa_s, #ifdef CONFIG_P2P switch (conf->vht_oper_chwidth) { - case VHT_CHANWIDTH_80MHZ: - case VHT_CHANWIDTH_80P80MHZ: + case CHANWIDTH_80MHZ: + case CHANWIDTH_80P80MHZ: center_chan = wpas_p2p_get_vht80_center(wpa_s, mode, channel); wpa_printf(MSG_DEBUG, "VHT center channel %u for 80 or 80+80 MHz bandwidth", center_chan); break; - case VHT_CHANWIDTH_160MHZ: + case CHANWIDTH_160MHZ: center_chan = wpas_p2p_get_vht160_center(wpa_s, mode, channel); wpa_printf(MSG_DEBUG, "VHT center channel %u for 160 MHz bandwidth", @@ -97,14 +97,14 @@ static void wpas_conf_ap_vht(struct wpa_supplicant *wpa_s, * try oper_cwidth 160 MHz first then VHT 80 MHz, if 160 MHz is * not supported. */ - conf->vht_oper_chwidth = VHT_CHANWIDTH_160MHZ; + conf->vht_oper_chwidth = CHANWIDTH_160MHZ; center_chan = wpas_p2p_get_vht160_center(wpa_s, mode, channel); if (center_chan) { wpa_printf(MSG_DEBUG, "VHT center channel %u for auto-selected 160 MHz bandwidth", center_chan); } else { - conf->vht_oper_chwidth = VHT_CHANWIDTH_80MHZ; + conf->vht_oper_chwidth = CHANWIDTH_80MHZ; center_chan = wpas_p2p_get_vht80_center(wpa_s, mode, channel); wpa_printf(MSG_DEBUG, @@ -128,7 +128,7 @@ no_vht: conf->channel); conf->vht_oper_centr_freq_seg0_idx = conf->channel + conf->secondary_channel * 2; - conf->vht_oper_chwidth = VHT_CHANWIDTH_USE_HT; + conf->vht_oper_chwidth = CHANWIDTH_USE_HT; } #endif /* CONFIG_IEEE80211N */ @@ -239,6 +239,11 @@ int wpa_supplicant_conf_ap_ht(struct wpa_supplicant *wpa_s, conf->vht_capab |= mode->vht_capab; wpas_conf_ap_vht(wpa_s, ssid, conf, mode); } + + if (mode->he_capab[wpas_mode_to_ieee80211_mode( + ssid->mode)].he_supported && + ssid->he) + conf->ieee80211ax = 1; } } @@ -1387,7 +1392,7 @@ int ap_ctrl_iface_chanswitch(struct wpa_supplicant *wpa_s, const char *pos) void wpas_ap_ch_switch(struct wpa_supplicant *wpa_s, int freq, int ht, - int offset, int width, int cf1, int cf2) + int offset, int width, int cf1, int cf2, int finished) { struct hostapd_iface *iface = wpa_s->ap_iface; @@ -1399,7 +1404,7 @@ void wpas_ap_ch_switch(struct wpa_supplicant *wpa_s, int freq, int ht, if (wpa_s->current_ssid) wpa_s->current_ssid->frequency = freq; hostapd_event_ch_switch(iface->bss[0], freq, ht, - offset, width, cf1, cf2); + offset, width, cf1, cf2, finished); } |
