hostapd: Simplify interface initialization
authorJouni Malinen <j@w1.fi>
Sun, 3 Nov 2013 11:28:17 +0000 (13:28 +0200)
committerJouni Malinen <j@w1.fi>
Sun, 3 Nov 2013 17:51:06 +0000 (19:51 +0200)
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>

hostapd/main.c
src/ap/hostapd.c
src/ap/hostapd.h

index c9ea970..a916361 100644 (file)
@@ -261,27 +261,15 @@ hostapd_interface_init(struct hapd_interfaces *interfaces,
                return NULL;
        }
 
-       if (hostapd_driver_init(iface) ||
-           hostapd_setup_interface(iface)) {
-               hostapd_interface_deinit_free(iface);
-               return NULL;
-       }
-
-       iface->init_done = 1;
-
        return iface;
 }
 
 
 static int hostapd_interface_init2(struct hostapd_iface *iface)
 {
-       if (iface->init_done)
-               return 0;
-
        if (hostapd_driver_init(iface) ||
            hostapd_setup_interface(iface))
                return -1;
-       iface->init_done = 1;
 
        return 0;
 }
index faeb565..0675655 100644 (file)
@@ -1581,7 +1581,6 @@ int hostapd_add_iface(struct hapd_interfaces *interfaces, char *buf)
                                interfaces->count--;
                                goto fail;
                        }
-                       hapd_iface->init_done = 1;
                } else {
                        /* Assign new BSS with bss[0]'s driver info */
                        hapd = hapd_iface->bss[hapd_iface->num_bss - 1];
index bae4d0b..ce2516e 100644 (file)
@@ -250,7 +250,6 @@ struct hostapd_iface {
        char *config_fname;
        struct hostapd_config *conf;
        char phy[16]; /* Name of the PHY (radio) */
-       int init_done;
 
        size_t num_bss;
        struct hostapd_data **bss;