X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=wireless.c;h=f3c95496864aa39532ca944078a13606c7ca875e;hp=d886bf20a394e85872766e249acf270de250bf53;hb=4b7662c5841214c105a174fdc9ab9fac870abab9;hpb=b5cfcfe34e6b44f2be90bf24e879dc25f0f07b9e diff --git a/wireless.c b/wireless.c index d886bf2..f3c9549 100644 --- a/wireless.c +++ b/wireless.c @@ -417,7 +417,7 @@ wdev_change_config(struct wireless_device *wdev, struct wireless_device *wd_new) free(wd_new); - if (blob_attr_equal(wdev->config, new_config) || wdev->disabled == disabled) + if (blob_attr_equal(wdev->config, new_config) && wdev->disabled == disabled) return; D(WIRELESS, "Update configuration of wireless device '%s'\n", wdev->name); @@ -491,8 +491,7 @@ wireless_add_handler(const char *script, const char *name, json_object *obj) D(WIRELESS, "Add handler for script %s: %s\n", script, name); } -static void __init -wireless_init_list(void) +void wireless_init(void) { vlist_init(&wireless_devices, avl_strcmp, wdev_update); wireless_devices.keep_old = true; @@ -630,7 +629,6 @@ wireless_device_create(struct wireless_driver *drv, const char *name, struct blo INIT_LIST_HEAD(&wdev->script_proc); vlist_init(&wdev->interfaces, avl_strcmp, vif_update); wdev->interfaces.keep_old = true; - vlist_add(&wireless_devices, &wdev->node, wdev->name); wdev->timeout.cb = wireless_device_setup_timeout; wdev->script_task.cb = wireless_device_script_task_cb; @@ -641,6 +639,8 @@ wireless_device_create(struct wireless_driver *drv, const char *name, struct blo wdev->script_proc_fd.cb = wireless_proc_poll_fd; wdev->script_check.cb = wireless_device_check_script_tasks; + + vlist_add(&wireless_devices, &wdev->node, wdev->name); } void wireless_interface_create(struct wireless_device *wdev, struct blob_attr *data, const char *section)