From be6bcabc7919522f28c99642b8e04ef7b8e19283 Mon Sep 17 00:00:00 2001 From: Wey-Yi Guy Date: Mon, 23 Apr 2012 09:30:32 -0700 Subject: [PATCH] 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 Signed-off-by: John W. Linville --- net/mac80211/util.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 8ba8b49..d9a747d 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); -- 2.7.4