fix interface_add_dns_search_list
[project/netifd.git] / config.c
index 9f42471..d6ff826 100644 (file)
--- a/config.c
+++ b/config.c
@@ -331,7 +331,7 @@ config_init_package(const char *config)
 }
 
 void
-config_init_interfaces(const char *name)
+config_init_all(void)
 {
        struct uci_package *p = NULL;
        struct uci_element *e;
@@ -344,6 +344,7 @@ config_init_interfaces(const char *name)
 
        uci_network = p;
        config_init = true;
+       device_lock();
 
        device_reset_config();
        config_init_devices();
@@ -351,13 +352,12 @@ config_init_interfaces(const char *name)
        uci_foreach_element(&p->sections, e) {
                struct uci_section *s = uci_to_section(e);
 
-               if (name && strcmp(s->e.name, name) != 0)
-                       continue;
-
                if (!strcmp(s->type, "interface"))
                        config_parse_interface(s);
        }
+
        config_init = false;
+       device_unlock();
 
        device_reset_old();
        device_init_pending();