On Mon, Aug 27, 2018 at 02:28:47PM -0700, peter.oh@xxxxxxxxxxxxxxxxx wrote: > Mesh interface has used its channel parameters that configured > during its initialization even after channel switched due to > DFS radar detection during CAC which caused channel switch error. > This change fixes the error by updating its channel parameters > when channel's been changed from initial one. > diff --git a/wpa_supplicant/mesh.c b/wpa_supplicant/mesh.c > @@ -199,10 +200,35 @@ static int wpas_mesh_init_rsn(struct wpa_supplicant *wpa_s) > static void wpas_mesh_complete_cb(void *ctx) > { > struct wpa_supplicant *wpa_s = (struct wpa_supplicant *)ctx; > + struct hostapd_iface *ifmsh = wpa_s->ifmsh; > struct wpa_driver_mesh_join_params *params = wpa_s->mesh_params; > struct wpa_ssid *ssid = wpa_s->current_ssid; > int ret = 0; > > + /* > + * inspect if channel's been changed since initialized. > + * i.e. DFS radar detection > + */ > + if (ifmsh->freq != params->freq.freq) { > + wpa_s->assoc_freq = ifmsh->freq; > + ssid->frequency = ifmsh->freq; This changing of ssid->frequency does not feel like the correct thing to do here. wpa_supplicant should not be changing the network profile parameters on its own. -- Jouni Malinen PGP id EFC895FA _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap