diff options
-rw-r--r-- | modules/admin-full/luasrc/controller/admin/network.lua | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/modules/admin-full/luasrc/controller/admin/network.lua b/modules/admin-full/luasrc/controller/admin/network.lua index 954ba12f52..87cc040ea7 100644 --- a/modules/admin-full/luasrc/controller/admin/network.lua +++ b/modules/admin-full/luasrc/controller/admin/network.lua @@ -198,9 +198,17 @@ end function wifi_delete(network) local ntm = require "luci.model.network".init() + local net = ntm:get_wifinet(network) - ntm:del_wifinet(network) - ntm:save("wireless") + if net then + local dev = net:get_device() + if dev then + luci.sys.call("env -i /sbin/wifi down %q" % dev:name()) + ntm:del_wifinet(network) + ntm:commit("wireless") + luci.sys.call("env -i /sbin/wifi up %q" % dev:name()) + end + end luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless")) end |