hostapd: Wait for channel list update after country code change
If hostapd is requested to set the country code and the previous country code differs from the new one, the channel list information from the driver may change. This change may not be instant, so wait for an EVENT_CHANNEL_LIST_CHANGED event before continuing interface setup with fetching of the channel list information. This fixes issues where the selected channel is not available based on the previous regulatory data and update through CRDA takes some time. Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
ae134e1d2b
commit
f0793bf191
6 changed files with 119 additions and 1 deletions
|
@ -254,6 +254,8 @@ struct hostapd_iface {
|
|||
size_t num_bss;
|
||||
struct hostapd_data **bss;
|
||||
|
||||
unsigned int wait_channel_update:1;
|
||||
|
||||
int num_ap; /* number of entries in ap_list */
|
||||
struct ap_info *ap_list; /* AP info list head */
|
||||
struct ap_info *ap_hash[STA_HASH_SIZE];
|
||||
|
@ -361,6 +363,7 @@ int hostapd_reload_iface(struct hostapd_iface *hapd_iface);
|
|||
int hostapd_disable_iface(struct hostapd_iface *hapd_iface);
|
||||
int hostapd_add_iface(struct hapd_interfaces *ifaces, char *buf);
|
||||
int hostapd_remove_iface(struct hapd_interfaces *ifaces, char *buf);
|
||||
void hostapd_channel_list_updated(struct hostapd_iface *iface);
|
||||
|
||||
/* utils.c */
|
||||
int hostapd_register_probereq_cb(struct hostapd_data *hapd,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue