From: Jo-Philipp Wich Date: Wed, 2 Nov 2011 18:59:18 +0000 (+0000) Subject: modules/admin-full: when toggling a wifi-iface, first bring the radio down, then... X-Git-Tag: 0.11.0~1408 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=eea1f8b6795593c659658f4ef74ae074ee3ab740;p=project%2Fluci.git modules/admin-full: when toggling a wifi-iface, first bring the radio down, then change the config, then bring it up again - prevents state vars from going out of sync --- diff --git a/modules/admin-full/luasrc/controller/admin/network.lua b/modules/admin-full/luasrc/controller/admin/network.lua index 40856af2c2..a79d080a7c 100644 --- a/modules/admin-full/luasrc/controller/admin/network.lua +++ b/modules/admin-full/luasrc/controller/admin/network.lua @@ -227,8 +227,7 @@ function iface_status() local net = netm:get_network(iface) local device = net and net:get_interface() if device then - local device = net:get_interface() - local data = { + local data = { id = iface, proto = net:proto(), uptime = net:uptime(), @@ -374,11 +373,13 @@ function wifi_reconnect() local net = netmd:get_wifinet(wnet) local dev = net:get_device() if dev and net then + luci.sys.call("env -i /sbin/wifi down >/dev/null 2>/dev/null") + dev:set("disabled", nil) net:set("disabled", (mode == "wireless_shutdown") and 1 or nil) netmd:commit("wireless") - luci.sys.call("(env -i /sbin/wifi down; env -i /sbin/wifi up) >/dev/null 2>/dev/null") + luci.sys.call("env -i /sbin/wifi up >/dev/null 2>/dev/null") luci.http.status(200, (mode == "wireless_shutdown") and "Shutdown" or "Reconnected") return