From d59f8cfa8e76079bf99a2fcc8e7ce00c0724c4bd Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sun, 12 May 2013 01:12:56 +0000 Subject: [PATCH] iwinfo: only consider joined bss when finding current operating frequency, fixes spurious misreporting of frequencies in ad-hoc mode SVN-Revision: 36604 --- 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 e0090e0be5..018832fffc 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 dd619e2d6f..700410939d 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]); } -- 2.30.2