diff options
Diffstat (limited to 'wpa_supplicant/mesh.c')
| -rw-r--r-- | wpa_supplicant/mesh.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/wpa_supplicant/mesh.c b/wpa_supplicant/mesh.c index 92600211ac2df..7354c1b791612 100644 --- a/wpa_supplicant/mesh.c +++ b/wpa_supplicant/mesh.c @@ -208,6 +208,7 @@ static int wpas_mesh_complete(struct wpa_supplicant *wpa_s) wpa_printf(MSG_ERROR, "mesh: RSN initialization failed - deinit mesh"); wpa_supplicant_mesh_deinit(wpa_s); + wpa_drv_leave_mesh(wpa_s); return -1; } @@ -333,14 +334,14 @@ static int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s, if (ssid->max_oper_chwidth != DEFAULT_MAX_OPER_CHWIDTH) conf->vht_oper_chwidth = ssid->max_oper_chwidth; switch (conf->vht_oper_chwidth) { - case VHT_CHANWIDTH_80MHZ: - case VHT_CHANWIDTH_80P80MHZ: + case CHANWIDTH_80MHZ: + case CHANWIDTH_80P80MHZ: ieee80211_freq_to_chan( frequency, &conf->vht_oper_centr_freq_seg0_idx); conf->vht_oper_centr_freq_seg0_idx += ssid->ht40 * 2; break; - case VHT_CHANWIDTH_160MHZ: + case CHANWIDTH_160MHZ: ieee80211_freq_to_chan( frequency, &conf->vht_oper_centr_freq_seg0_idx); @@ -455,6 +456,7 @@ int wpa_supplicant_join_mesh(struct wpa_supplicant *wpa_s, ibss_mesh_setup_freq(wpa_s, ssid, ¶ms->freq); wpa_s->mesh_ht_enabled = !!params->freq.ht_enabled; wpa_s->mesh_vht_enabled = !!params->freq.vht_enabled; + wpa_s->mesh_he_enabled = !!params->freq.he_enabled; if (params->freq.ht_enabled && params->freq.sec_channel_offset) ssid->ht40 = params->freq.sec_channel_offset; @@ -464,21 +466,23 @@ int wpa_supplicant_join_mesh(struct wpa_supplicant *wpa_s, switch (params->freq.bandwidth) { case 80: if (params->freq.center_freq2) { - ssid->max_oper_chwidth = VHT_CHANWIDTH_80P80MHZ; + ssid->max_oper_chwidth = CHANWIDTH_80P80MHZ; ssid->vht_center_freq2 = params->freq.center_freq2; } else { - ssid->max_oper_chwidth = VHT_CHANWIDTH_80MHZ; + ssid->max_oper_chwidth = CHANWIDTH_80MHZ; } break; case 160: - ssid->max_oper_chwidth = VHT_CHANWIDTH_160MHZ; + ssid->max_oper_chwidth = CHANWIDTH_160MHZ; break; default: - ssid->max_oper_chwidth = VHT_CHANWIDTH_USE_HT; + ssid->max_oper_chwidth = CHANWIDTH_USE_HT; break; } } + if (wpa_s->mesh_he_enabled) + ssid->he = 1; if (ssid->beacon_int > 0) params->beacon_int = ssid->beacon_int; else if (wpa_s->conf->beacon_int > 0) |
