aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/nl80211.h2
-rw-r--r--include/net/cfg80211.h4
-rw-r--r--net/mac80211/Kconfig1
-rw-r--r--net/mac80211/cfg.c3
-rw-r--r--net/mac80211/rx.c1
-rw-r--r--net/mac80211/sta_info.c2
-rw-r--r--net/mac80211/sta_info.h3
-rw-r--r--net/wireless/nl80211.c3
8 files changed, 1 insertions, 18 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index 1ce3775e9e26..037b4e498890 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -1161,7 +1161,6 @@ enum nl80211_rate_info {
1161 * @__NL80211_STA_INFO_AFTER_LAST: internal 1161 * @__NL80211_STA_INFO_AFTER_LAST: internal
1162 * @NL80211_STA_INFO_MAX: highest possible station info attribute 1162 * @NL80211_STA_INFO_MAX: highest possible station info attribute
1163 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm) 1163 * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)
1164 * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm)
1165 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute 1164 * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
1166 * containing info as possible, see &enum nl80211_sta_info_txrate. 1165 * containing info as possible, see &enum nl80211_sta_info_txrate.
1167 * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station) 1166 * @NL80211_STA_INFO_RX_PACKETS: total received packet (u32, from this station)
@@ -1179,7 +1178,6 @@ enum nl80211_sta_info {
1179 NL80211_STA_INFO_PLID, 1178 NL80211_STA_INFO_PLID,
1180 NL80211_STA_INFO_PLINK_STATE, 1179 NL80211_STA_INFO_PLINK_STATE,
1181 NL80211_STA_INFO_SIGNAL, 1180 NL80211_STA_INFO_SIGNAL,
1182 NL80211_STA_INFO_SIGNAL_AVG,
1183 NL80211_STA_INFO_TX_BITRATE, 1181 NL80211_STA_INFO_TX_BITRATE,
1184 NL80211_STA_INFO_RX_PACKETS, 1182 NL80211_STA_INFO_RX_PACKETS,
1185 NL80211_STA_INFO_TX_PACKETS, 1183 NL80211_STA_INFO_TX_PACKETS,
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 69e2364889f1..8fd9eebd0cc9 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -424,7 +424,6 @@ struct station_parameters {
424 * @STATION_INFO_TX_RETRIES: @tx_retries filled 424 * @STATION_INFO_TX_RETRIES: @tx_retries filled
425 * @STATION_INFO_TX_FAILED: @tx_failed filled 425 * @STATION_INFO_TX_FAILED: @tx_failed filled
426 * @STATION_INFO_RX_DROP_MISC: @rx_dropped_misc filled 426 * @STATION_INFO_RX_DROP_MISC: @rx_dropped_misc filled
427 * @STATION_INFO_SIGNAL_AVG: @signal_avg filled
428 */ 427 */
429enum station_info_flags { 428enum station_info_flags {
430 STATION_INFO_INACTIVE_TIME = 1<<0, 429 STATION_INFO_INACTIVE_TIME = 1<<0,
@@ -440,7 +439,6 @@ enum station_info_flags {
440 STATION_INFO_TX_RETRIES = 1<<10, 439 STATION_INFO_TX_RETRIES = 1<<10,
441 STATION_INFO_TX_FAILED = 1<<11, 440 STATION_INFO_TX_FAILED = 1<<11,
442 STATION_INFO_RX_DROP_MISC = 1<<12, 441 STATION_INFO_RX_DROP_MISC = 1<<12,
443 STATION_INFO_SIGNAL_AVG = 1<<13,
444}; 442};
445 443
446/** 444/**
@@ -487,7 +485,6 @@ struct rate_info {
487 * @plid: mesh peer link id 485 * @plid: mesh peer link id
488 * @plink_state: mesh peer link state 486 * @plink_state: mesh peer link state
489 * @signal: signal strength of last received packet in dBm 487 * @signal: signal strength of last received packet in dBm
490 * @signal_avg: signal strength average in dBm
491 * @txrate: current unicast bitrate to this station 488 * @txrate: current unicast bitrate to this station
492 * @rx_packets: packets received from this station 489 * @rx_packets: packets received from this station
493 * @tx_packets: packets transmitted to this station 490 * @tx_packets: packets transmitted to this station
@@ -508,7 +505,6 @@ struct station_info {
508 u16 plid; 505 u16 plid;
509 u8 plink_state; 506 u8 plink_state;
510 s8 signal; 507 s8 signal;
511 s8 signal_avg;
512 struct rate_info txrate; 508 struct rate_info txrate;
513 u32 rx_packets; 509 u32 rx_packets;
514 u32 tx_packets; 510 u32 tx_packets;
diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig
index 798d9b9462e2..4d6f8653ec88 100644
--- a/net/mac80211/Kconfig
+++ b/net/mac80211/Kconfig
@@ -6,7 +6,6 @@ config MAC80211
6 select CRYPTO_ARC4 6 select CRYPTO_ARC4
7 select CRYPTO_AES 7 select CRYPTO_AES
8 select CRC32 8 select CRC32
9 select AVERAGE
10 ---help--- 9 ---help---
11 This option enables the hardware independent IEEE 802.11 10 This option enables the hardware independent IEEE 802.11
12 networking stack. 11 networking stack.
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 92c9cf6a7d1c..0c544074479e 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -343,9 +343,8 @@ static void sta_set_sinfo(struct sta_info *sta, struct station_info *sinfo)
343 343
344 if ((sta->local->hw.flags & IEEE80211_HW_SIGNAL_DBM) || 344 if ((sta->local->hw.flags & IEEE80211_HW_SIGNAL_DBM) ||
345 (sta->local->hw.flags & IEEE80211_HW_SIGNAL_UNSPEC)) { 345 (sta->local->hw.flags & IEEE80211_HW_SIGNAL_UNSPEC)) {
346 sinfo->filled |= STATION_INFO_SIGNAL | STATION_INFO_SIGNAL_AVG; 346 sinfo->filled |= STATION_INFO_SIGNAL;
347 sinfo->signal = (s8)sta->last_signal; 347 sinfo->signal = (s8)sta->last_signal;
348 sinfo->signal_avg = (s8) -ewma_read(&sta->avg_signal);
349 } 348 }
350 349
351 sinfo->txrate.flags = 0; 350 sinfo->txrate.flags = 0;
diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
index 9dd60a74181f..d2fcd22ab06d 100644
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
@@ -1156,7 +1156,6 @@ ieee80211_rx_h_sta_process(struct ieee80211_rx_data *rx)
1156 sta->rx_fragments++; 1156 sta->rx_fragments++;
1157 sta->rx_bytes += rx->skb->len; 1157 sta->rx_bytes += rx->skb->len;
1158 sta->last_signal = status->signal; 1158 sta->last_signal = status->signal;
1159 ewma_add(&sta->avg_signal, -status->signal);
1160 1159
1161 /* 1160 /*
1162 * Change STA power saving mode only at the end of a frame 1161 * Change STA power saving mode only at the end of a frame
diff --git a/net/mac80211/sta_info.c b/net/mac80211/sta_info.c
index f43fca8907f7..eff58571fd7e 100644
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
@@ -244,8 +244,6 @@ struct sta_info *sta_info_alloc(struct ieee80211_sub_if_data *sdata,
244 sta->local = local; 244 sta->local = local;
245 sta->sdata = sdata; 245 sta->sdata = sdata;
246 246
247 ewma_init(&sta->avg_signal, 1000, 8);
248
249 if (sta_prepare_rate_control(local, sta, gfp)) { 247 if (sta_prepare_rate_control(local, sta, gfp)) {
250 kfree(sta); 248 kfree(sta);
251 return NULL; 249 return NULL;
diff --git a/net/mac80211/sta_info.h b/net/mac80211/sta_info.h
index 84062e2c782c..9265acadef32 100644
--- a/net/mac80211/sta_info.h
+++ b/net/mac80211/sta_info.h
@@ -13,7 +13,6 @@
13#include <linux/types.h> 13#include <linux/types.h>
14#include <linux/if_ether.h> 14#include <linux/if_ether.h>
15#include <linux/workqueue.h> 15#include <linux/workqueue.h>
16#include <linux/average.h>
17#include "key.h" 16#include "key.h"
18 17
19/** 18/**
@@ -225,7 +224,6 @@ enum plink_state {
225 * @rx_fragments: number of received MPDUs 224 * @rx_fragments: number of received MPDUs
226 * @rx_dropped: number of dropped MPDUs from this STA 225 * @rx_dropped: number of dropped MPDUs from this STA
227 * @last_signal: signal of last received frame from this STA 226 * @last_signal: signal of last received frame from this STA
228 * @avg_signal: moving average of signal of received frames from this STA
229 * @last_seq_ctrl: last received seq/frag number from this STA (per RX queue) 227 * @last_seq_ctrl: last received seq/frag number from this STA (per RX queue)
230 * @tx_filtered_count: number of frames the hardware filtered for this STA 228 * @tx_filtered_count: number of frames the hardware filtered for this STA
231 * @tx_retry_failed: number of frames that failed retry 229 * @tx_retry_failed: number of frames that failed retry
@@ -293,7 +291,6 @@ struct sta_info {
293 unsigned long rx_fragments; 291 unsigned long rx_fragments;
294 unsigned long rx_dropped; 292 unsigned long rx_dropped;
295 int last_signal; 293 int last_signal;
296 struct ewma avg_signal;
297 __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES]; 294 __le16 last_seq_ctrl[NUM_RX_DATA_QUEUES];
298 295
299 /* Updated from TX status path only, no locking requirements */ 296 /* Updated from TX status path only, no locking requirements */
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index d06a40d17002..605553842226 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -1872,9 +1872,6 @@ static int nl80211_send_station(struct sk_buff *msg, u32 pid, u32 seq,
1872 if (sinfo->filled & STATION_INFO_SIGNAL) 1872 if (sinfo->filled & STATION_INFO_SIGNAL)
1873 NLA_PUT_U8(msg, NL80211_STA_INFO_SIGNAL, 1873 NLA_PUT_U8(msg, NL80211_STA_INFO_SIGNAL,
1874 sinfo->signal); 1874 sinfo->signal);
1875 if (sinfo->filled & STATION_INFO_SIGNAL_AVG)
1876 NLA_PUT_U8(msg, NL80211_STA_INFO_SIGNAL_AVG,
1877 sinfo->signal_avg);
1878 if (sinfo->filled & STATION_INFO_TX_BITRATE) { 1875 if (sinfo->filled & STATION_INFO_TX_BITRATE) {
1879 txrate = nla_nest_start(msg, NL80211_STA_INFO_TX_BITRATE); 1876 txrate = nla_nest_start(msg, NL80211_STA_INFO_TX_BITRATE);
1880 if (!txrate) 1877 if (!txrate)