luci-base: fix luci.sys.wifi.getiwinfo() on radio names
authorJo-Philipp Wich <jo@mein.io>
Wed, 3 Jan 2018 20:27:10 +0000 (21:27 +0100)
committerJo-Philipp Wich <jo@mein.io>
Wed, 3 Jan 2018 20:27:49 +0000 (21:27 +0100)
Fall back to using a phy-wide iwinfo handle if the vif query yields no result.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
modules/luci-base/luasrc/sys.lua

index 3fcfd4def7589814412b6dd4000677fbcd4f3fce..84c747f2bd3bf1e864cbe08046f20d72ac2a3bad 100644 (file)
@@ -453,8 +453,18 @@ wifi = {}
 
 function wifi.getiwinfo(ifname)
        ntm.init()
-       local wnet = ntm.wifinet(ifname)
-       return wnet.iwinfo or { ifname = ifname }
+
+       local wnet = ntm:get_wifinet(ifname)
+       if wnet and wnet.iwinfo then
+               return wnet.iwinfo
+       end
+
+       local wdev = ntm:get_wifidev(ifname)
+       if wdev and wdev.iwinfo then
+               return wdev.iwinfo
+       end
+
+       return { ifname = ifname }
 end