iwinfo: only consider joined bss when finding current operating frequency, fixes...
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 12 May 2013 01:12:56 +0000 (01:12 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 12 May 2013 01:12:56 +0000 (01:12 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36604 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/network/utils/iwinfo/Makefile
package/network/utils/iwinfo/src/iwinfo_nl80211.c

index e0090e0..018832f 100644 (file)
@@ -7,7 +7,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libiwinfo
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libiwinfo
-PKG_RELEASE:=44
+PKG_RELEASE:=45
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 PKG_CONFIG_DEPENDS := \
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 PKG_CONFIG_DEPENDS := \
index dd619e2..7004109 100644 (file)
@@ -918,13 +918,14 @@ static int nl80211_get_frequency_scan_cb(struct nl_msg *msg, void *arg)
 
        static struct nla_policy bss_policy[NL80211_BSS_MAX + 1] = {
                [NL80211_BSS_FREQUENCY] = { .type = NLA_U32 },
 
        static struct nla_policy bss_policy[NL80211_BSS_MAX + 1] = {
                [NL80211_BSS_FREQUENCY] = { .type = NLA_U32 },
+               [NL80211_BSS_STATUS]    = { .type = NLA_U32 },
        };
 
        if (attr[NL80211_ATTR_BSS] &&
            !nla_parse_nested(binfo, NL80211_BSS_MAX,
                              attr[NL80211_ATTR_BSS], bss_policy))
        {
        };
 
        if (attr[NL80211_ATTR_BSS] &&
            !nla_parse_nested(binfo, NL80211_BSS_MAX,
                              attr[NL80211_ATTR_BSS], bss_policy))
        {
-               if (binfo[NL80211_BSS_FREQUENCY])
+               if (binfo[NL80211_BSS_STATUS] && binfo[NL80211_BSS_FREQUENCY])
                        *freq = nla_get_u32(binfo[NL80211_BSS_FREQUENCY]);
        }
 
                        *freq = nla_get_u32(binfo[NL80211_BSS_FREQUENCY]);
        }