From c2a2d3fa85efa4b27335d595fc05c5fc3519b150 Mon Sep 17 00:00:00 2001 From: jow Date: Sun, 12 May 2013 01:12:56 +0000 Subject: iwinfo: only consider joined bss when finding current operating frequency, fixes spurious misreporting of frequencies in ad-hoc mode git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36604 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/network/utils/iwinfo/Makefile | 2 +- package/network/utils/iwinfo/src/iwinfo_nl80211.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/package/network/utils/iwinfo/Makefile b/package/network/utils/iwinfo/Makefile index e0090e0be..018832fff 100644 --- a/package/network/utils/iwinfo/Makefile +++ b/package/network/utils/iwinfo/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libiwinfo -PKG_RELEASE:=44 +PKG_RELEASE:=45 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME) PKG_CONFIG_DEPENDS := \ diff --git a/package/network/utils/iwinfo/src/iwinfo_nl80211.c b/package/network/utils/iwinfo/src/iwinfo_nl80211.c index dd619e2d6..700410939 100644 --- a/package/network/utils/iwinfo/src/iwinfo_nl80211.c +++ b/package/network/utils/iwinfo/src/iwinfo_nl80211.c @@ -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 }, + [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 (binfo[NL80211_BSS_FREQUENCY]) + if (binfo[NL80211_BSS_STATUS] && binfo[NL80211_BSS_FREQUENCY]) *freq = nla_get_u32(binfo[NL80211_BSS_FREQUENCY]); } -- cgit v1.2.3