瀏覽代碼

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>
Wey-Yi Guy 13 年之前
父節點
當前提交
be6bcabc79
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      net/mac80211/util.c

+ 4 - 0
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_sub_if_data *sdata = vif_to_sdata(vif);
 	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
 	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;
 	return ifmgd->ave_beacon_signal;
 }
 }
 EXPORT_SYMBOL_GPL(ieee80211_ave_rssi);
 EXPORT_SYMBOL_GPL(ieee80211_ave_rssi);