--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
-@@ -681,6 +681,9 @@ enum mac80211_rx_flags {
+@@ -683,6 +683,9 @@ enum mac80211_rx_flags {
* @mactime: value in microseconds of the 64-bit Time Synchronization Function
* (TSF) timer when the first data symbol (MPDU) arrived at the hardware.
* @band: the active band when this frame was received
* @freq: frequency the radio was tuned to when receiving this frame, in MHz
* @signal: signal strength when receiving this frame, either in dBm, in dB or
* unspecified depending on the hardware capabilities flags
-@@ -694,6 +697,10 @@ enum mac80211_rx_flags {
+@@ -696,6 +699,10 @@ enum mac80211_rx_flags {
struct ieee80211_rx_status {
u64 mactime;
enum ieee80211_band band;
kfree(sta);
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
-@@ -497,6 +497,8 @@ struct station_parameters {
- * @STATION_INFO_BSS_PARAM: @bss_param filled
+@@ -498,6 +498,8 @@ struct station_parameters {
* @STATION_INFO_CONNECTED_TIME: @connected_time filled
* @STATION_INFO_ASSOC_REQ_IES: @assoc_req_ies filled
+ * @STATION_INFO_STA_FLAGS: @sta_flags filled
+ * @STATION_INFO_CHAIN_SIGNAL: @chain_signal filled
+ * @STATION_INFO_CHAIN_SIGNAL_AVG: @chain_signal_avg filled
*/
enum station_info_flags {
STATION_INFO_INACTIVE_TIME = 1<<0,
-@@ -516,7 +518,9 @@ enum station_info_flags {
- STATION_INFO_RX_BITRATE = 1<<14,
+@@ -518,7 +520,9 @@ enum station_info_flags {
STATION_INFO_BSS_PARAM = 1<<15,
STATION_INFO_CONNECTED_TIME = 1<<16,
-- STATION_INFO_ASSOC_REQ_IES = 1<<17
-+ STATION_INFO_ASSOC_REQ_IES = 1<<17,
-+ STATION_INFO_CHAIN_SIGNAL = 1<<18,
-+ STATION_INFO_CHAIN_SIGNAL_AVG = 1<<19,
+ STATION_INFO_ASSOC_REQ_IES = 1<<17,
+- STATION_INFO_STA_FLAGS = 1<<18
++ STATION_INFO_STA_FLAGS = 1<<18,
++ STATION_INFO_CHAIN_SIGNAL = 1<<19,
++ STATION_INFO_CHAIN_SIGNAL_AVG = 1<<20,
};
/**
-@@ -596,6 +600,9 @@ struct sta_bss_parameters {
+@@ -598,6 +602,9 @@ struct sta_bss_parameters {
* @plink_state: mesh peer link state
* @signal: signal strength of last received packet in dBm
* @signal_avg: signal strength average in dBm
* @txrate: current unicast bitrate from this station
* @rxrate: current unicast bitrate to this station
* @rx_packets: packets received from this station
-@@ -625,6 +632,11 @@ struct station_info {
+@@ -627,6 +634,11 @@ struct station_info {
u8 plink_state;
s8 signal;
s8 signal_avg;
RX_SAMP_DBG(rate) = rs->rs_rate;
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
-@@ -1548,6 +1548,8 @@ enum nl80211_sta_bss_param {
- * @NL80211_STA_INFO_BSS_PARAM: current station's view of BSS, nested attribute
+@@ -1549,6 +1549,8 @@ enum nl80211_sta_bss_param {
* containing info as possible, see &enum nl80211_sta_bss_param
* @NL80211_STA_INFO_CONNECTED_TIME: time since the station is last connected
+ * @NL80211_STA_INFO_STA_FLAGS: Contains a struct nl80211_sta_flag_update.
+ * @NL80211_STA_INFO_CHAIN_SIGNAL: per-chain signal strength of last PPDU
+ * @NL80211_STA_INFO_CHAIN_SIGNAL_AVG: per-chain signal strength average
* @__NL80211_STA_INFO_AFTER_LAST: internal
* @NL80211_STA_INFO_MAX: highest possible station info attribute
*/
-@@ -1569,6 +1571,8 @@ enum nl80211_sta_info {
- NL80211_STA_INFO_RX_BITRATE,
+@@ -1571,6 +1573,8 @@ enum nl80211_sta_info {
NL80211_STA_INFO_BSS_PARAM,
NL80211_STA_INFO_CONNECTED_TIME,
+ NL80211_STA_INFO_STA_FLAGS,
+ NL80211_STA_INFO_CHAIN_SIGNAL,
+ NL80211_STA_INFO_CHAIN_SIGNAL_AVG,
sinfo->generation = sdata->local->sta_generation;
-@@ -364,6 +365,17 @@ static void sta_set_sinfo(struct sta_inf
+@@ -365,6 +366,17 @@ static void sta_set_sinfo(struct sta_inf
sinfo->signal = (s8)sta->last_signal;
sinfo->signal_avg = (s8) -ewma_read(&sta->avg_signal);
}