diff --git a/package/network/config/wifi-scripts/files/lib/netifd/wireless-device.uc b/package/network/config/wifi-scripts/files/lib/netifd/wireless-device.uc index 428db6ee6a..6e3a5d938f 100644 --- a/package/network/config/wifi-scripts/files/lib/netifd/wireless-device.uc +++ b/package/network/config/wifi-scripts/files/lib/netifd/wireless-device.uc @@ -142,8 +142,13 @@ function wdev_config_init(wdev) function wdev_setup_cb(wdev) { - if (wdev.state != "setup") + if (wdev.state != "setup") { + if (wdev.state == "up" && wdev.config_change) { + wdev_config_init(wdev); + wdev.setup(); + } return; + } if (wdev.retry > 0) wdev.retry--; @@ -448,11 +453,6 @@ function wdev_mark_up(wdev) if (wdev.state != "setup") return; - if (wdev.config_change) { - wdev.setup(); - return; - } - for (let section, data in wdev.handler_data) { if (data.ifname) handle_link(data.ifname, data, true);