hostapd: Simplify interface initialization
Use hostapd_interface_init2() for all interfaces instead of the previously used different paths for per-interface-config and per-BSS-config cases. This moves the calls to hostapd_driver_init() and hostapd_setup_interface() to happen after all configuration files have been read. Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
e114c49cfc
commit
4a5deb9b9d
3 changed files with 0 additions and 14 deletions
|
@ -261,27 +261,15 @@ hostapd_interface_init(struct hapd_interfaces *interfaces,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hostapd_driver_init(iface) ||
|
|
||||||
hostapd_setup_interface(iface)) {
|
|
||||||
hostapd_interface_deinit_free(iface);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
iface->init_done = 1;
|
|
||||||
|
|
||||||
return iface;
|
return iface;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int hostapd_interface_init2(struct hostapd_iface *iface)
|
static int hostapd_interface_init2(struct hostapd_iface *iface)
|
||||||
{
|
{
|
||||||
if (iface->init_done)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
if (hostapd_driver_init(iface) ||
|
if (hostapd_driver_init(iface) ||
|
||||||
hostapd_setup_interface(iface))
|
hostapd_setup_interface(iface))
|
||||||
return -1;
|
return -1;
|
||||||
iface->init_done = 1;
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1581,7 +1581,6 @@ int hostapd_add_iface(struct hapd_interfaces *interfaces, char *buf)
|
||||||
interfaces->count--;
|
interfaces->count--;
|
||||||
goto fail;
|
goto fail;
|
||||||
}
|
}
|
||||||
hapd_iface->init_done = 1;
|
|
||||||
} else {
|
} else {
|
||||||
/* Assign new BSS with bss[0]'s driver info */
|
/* Assign new BSS with bss[0]'s driver info */
|
||||||
hapd = hapd_iface->bss[hapd_iface->num_bss - 1];
|
hapd = hapd_iface->bss[hapd_iface->num_bss - 1];
|
||||||
|
|
|
@ -250,7 +250,6 @@ struct hostapd_iface {
|
||||||
char *config_fname;
|
char *config_fname;
|
||||||
struct hostapd_config *conf;
|
struct hostapd_config *conf;
|
||||||
char phy[16]; /* Name of the PHY (radio) */
|
char phy[16]; /* Name of the PHY (radio) */
|
||||||
int init_done;
|
|
||||||
|
|
||||||
size_t num_bss;
|
size_t num_bss;
|
||||||
struct hostapd_data **bss;
|
struct hostapd_data **bss;
|
||||||
|
|
Loading…
Reference in a new issue