Revert "mesh: Apply channel attributes before setup interface"
This reverts commit2564184440
. Commit2564184440
("mesh: Apply channel attributes before setup interface") triggers some channel configurations to result in leaking memory. This seems to be caused by hapd->started not getting set when going through a callback to start hostapd operation (e.g., when using HT40 coex scan) due to hostapd_setup_bss() not getting called. This results in hostapd_free_hapd_data() not clearing allocated hapd->wpa_auth. This can be reproduced with the hwsim test case mesh_secure_ocv_mix_legacy. A more complete cleanup of the pending mesh patch for DFS support seems to be needed to fix this properly, so the best approach for now is to revert this patch and bring it back once rest of the mesh changes are ready to be applied. Signed-off-by: Masashi Honma <masashi.honma@gmail.com>
This commit is contained in:
parent
9758b08bcf
commit
3e949655cc
1 changed files with 3 additions and 8 deletions
|
@ -251,7 +251,7 @@ static int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s,
|
||||||
struct mesh_conf *mconf;
|
struct mesh_conf *mconf;
|
||||||
int basic_rates_erp[] = { 10, 20, 55, 60, 110, 120, 240, -1 };
|
int basic_rates_erp[] = { 10, 20, 55, 60, 110, 120, 240, -1 };
|
||||||
int rate_len;
|
int rate_len;
|
||||||
int frequency, saved_freq;
|
int frequency;
|
||||||
|
|
||||||
if (!wpa_s->conf->user_mpm) {
|
if (!wpa_s->conf->user_mpm) {
|
||||||
/* not much for us to do here */
|
/* not much for us to do here */
|
||||||
|
@ -383,13 +383,6 @@ static int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s,
|
||||||
conf->basic_rates[rate_len] = -1;
|
conf->basic_rates[rate_len] = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Handle pri/sec switch frequency within AP configuration parameter
|
|
||||||
* generation without changing the stored network profile in the end. */
|
|
||||||
saved_freq = ssid->frequency;
|
|
||||||
ssid->frequency = frequency;
|
|
||||||
wpa_supplicant_conf_ap_ht(wpa_s, ssid, conf);
|
|
||||||
ssid->frequency = saved_freq;
|
|
||||||
|
|
||||||
if (wpa_drv_init_mesh(wpa_s)) {
|
if (wpa_drv_init_mesh(wpa_s)) {
|
||||||
wpa_msg(wpa_s, MSG_ERROR, "Failed to init mesh in driver");
|
wpa_msg(wpa_s, MSG_ERROR, "Failed to init mesh in driver");
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -401,6 +394,8 @@ static int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wpa_supplicant_conf_ap_ht(wpa_s, ssid, conf);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
out_free:
|
out_free:
|
||||||
wpa_supplicant_mesh_deinit(wpa_s);
|
wpa_supplicant_mesh_deinit(wpa_s);
|
||||||
|
|
Loading…
Reference in a new issue