summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWey-Yi Guy2012-04-23 18:30:32 +0200
committerJohn W. Linville2012-04-24 20:54:27 +0200
commitbe6bcabc7919522f28c99642b8e04ef7b8e19283 (patch)
treeb273f570a0c091a89622e12b3c4e05c2be396709
parentiwlwifi: use new mac80211 queue scheme (diff)
downloadkernel-qcow2-linux-be6bcabc7919522f28c99642b8e04ef7b8e19283.tar.gz
kernel-qcow2-linux-be6bcabc7919522f28c99642b8e04ef7b8e19283.tar.xz
kernel-qcow2-linux-be6bcabc7919522f28c99642b8e04ef7b8e19283.zip
mac80211: check for non-managed interface
Average beacon signal only keep tracked by managed interface, give warning and return 0 for the others. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--net/mac80211/util.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index 8ba8b49c9531..d9a747d387f0 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -1801,6 +1801,10 @@ int ieee80211_ave_rssi(struct ieee80211_vif *vif)
struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
+ if (WARN_ON_ONCE(sdata->vif.type != NL80211_IFTYPE_STATION)) {
+ /* non-managed type inferfaces */
+ return 0;
+ }
return ifmgd->ave_beacon_signal;
}
EXPORT_SYMBOL_GPL(ieee80211_ave_rssi);