Update wpa_supplicant channel list on FLUSH
Try to make sure the driver channel list state is synchronized with wpa_supplicant whenever explicitly clearing state (e.g., between hwsim test cases). Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
d8dda601f0
commit
32bb47faa1
3 changed files with 13 additions and 6 deletions
|
@ -7957,6 +7957,8 @@ static void wpa_supplicant_ctrl_iface_flush(struct wpa_supplicant *wpa_s)
|
|||
|
||||
wpabuf_free(wpa_s->ric_ies);
|
||||
wpa_s->ric_ies = NULL;
|
||||
|
||||
wpa_supplicant_update_channel_list(wpa_s, NULL);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -3633,8 +3633,8 @@ static const char * reg_type_str(enum reg_type type)
|
|||
}
|
||||
|
||||
|
||||
static void wpa_supplicant_update_channel_list(
|
||||
struct wpa_supplicant *wpa_s, struct channel_list_changed *info)
|
||||
void wpa_supplicant_update_channel_list(struct wpa_supplicant *wpa_s,
|
||||
struct channel_list_changed *info)
|
||||
{
|
||||
struct wpa_supplicant *ifs;
|
||||
u8 dfs_domain;
|
||||
|
@ -3648,10 +3648,13 @@ static void wpa_supplicant_update_channel_list(
|
|||
for (ifs = wpa_s; ifs->parent && ifs != ifs->parent; ifs = ifs->parent)
|
||||
;
|
||||
|
||||
wpa_msg(ifs, MSG_INFO, WPA_EVENT_REGDOM_CHANGE "init=%s type=%s%s%s",
|
||||
if (info) {
|
||||
wpa_msg(ifs, MSG_INFO,
|
||||
WPA_EVENT_REGDOM_CHANGE "init=%s type=%s%s%s",
|
||||
reg_init_str(info->initiator), reg_type_str(info->type),
|
||||
info->alpha2[0] ? " alpha2=" : "",
|
||||
info->alpha2[0] ? info->alpha2 : "");
|
||||
}
|
||||
|
||||
if (wpa_s->drv_priv == NULL)
|
||||
return; /* Ignore event during drv initialization */
|
||||
|
|
|
@ -1427,6 +1427,8 @@ int wpa_supplicant_fast_associate(struct wpa_supplicant *wpa_s);
|
|||
struct wpa_bss * wpa_supplicant_pick_network(struct wpa_supplicant *wpa_s,
|
||||
struct wpa_ssid **selected_ssid);
|
||||
int wpas_temp_disabled(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid);
|
||||
void wpa_supplicant_update_channel_list(struct wpa_supplicant *wpa_s,
|
||||
struct channel_list_changed *info);
|
||||
|
||||
/* eap_register.c */
|
||||
int eap_register_methods(void);
|
||||
|
|
Loading…
Reference in a new issue