summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/522-ath9k_per_chain_signal_strength.patch
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-07-10 00:21:25 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-07-10 00:21:25 +0000
commitb01eb369ce4b236f214c74dc7a30f65474ddf8d3 (patch)
tree5b2c6f7f1a90ddd05e706bbe1dbce54223eea283 /package/mac80211/patches/522-ath9k_per_chain_signal_strength.patch
parent718ffca5834751d2a352dd7a1fc6b9c09b0aeef5 (diff)
mac80211: update to latest version, fix tx gain patch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32655 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/mac80211/patches/522-ath9k_per_chain_signal_strength.patch')
-rw-r--r--package/mac80211/patches/522-ath9k_per_chain_signal_strength.patch42
1 files changed, 21 insertions, 21 deletions
diff --git a/package/mac80211/patches/522-ath9k_per_chain_signal_strength.patch b/package/mac80211/patches/522-ath9k_per_chain_signal_strength.patch
index 671ae7ae6..474060870 100644
--- a/package/mac80211/patches/522-ath9k_per_chain_signal_strength.patch
+++ b/package/mac80211/patches/522-ath9k_per_chain_signal_strength.patch
@@ -37,7 +37,7 @@
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
-@@ -1263,6 +1263,7 @@ ieee80211_rx_h_sta_process(struct ieee80
+@@ -1254,6 +1254,7 @@ ieee80211_rx_h_sta_process(struct ieee80
struct sk_buff *skb = rx->skb;
struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
@@ -45,7 +45,7 @@
if (!sta)
return RX_CONTINUE;
-@@ -1307,6 +1308,19 @@ ieee80211_rx_h_sta_process(struct ieee80
+@@ -1298,6 +1299,19 @@ ieee80211_rx_h_sta_process(struct ieee80
ewma_add(&sta->avg_signal, -status->signal);
}
@@ -67,7 +67,7 @@
* exchange sequence.
--- a/net/mac80211/sta_info.c
+++ b/net/mac80211/sta_info.c
-@@ -256,6 +256,8 @@ struct sta_info *sta_info_alloc(struct i
+@@ -254,6 +254,8 @@ struct sta_info *sta_info_alloc(struct i
do_posix_clock_monotonic_gettime(&uptime);
sta->last_connected = uptime.tv_sec;
ewma_init(&sta->avg_signal, 1024, 8);
@@ -78,7 +78,7 @@
kfree(sta);
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
-@@ -527,6 +527,8 @@ struct station_parameters {
+@@ -546,6 +546,8 @@ struct station_parameters {
* @STATION_INFO_STA_FLAGS: @sta_flags filled
* @STATION_INFO_BEACON_LOSS_COUNT: @beacon_loss_count filled
* @STATION_INFO_T_OFFSET: @t_offset filled
@@ -87,7 +87,7 @@
*/
enum station_info_flags {
STATION_INFO_INACTIVE_TIME = 1<<0,
-@@ -550,6 +552,8 @@ enum station_info_flags {
+@@ -569,6 +571,8 @@ enum station_info_flags {
STATION_INFO_STA_FLAGS = 1<<18,
STATION_INFO_BEACON_LOSS_COUNT = 1<<19,
STATION_INFO_T_OFFSET = 1<<20,
@@ -96,17 +96,17 @@
};
/**
-@@ -631,6 +635,9 @@ struct sta_bss_parameters {
- NOTE: For CFG80211_SIGNAL_TYPE_MBM, value is expressed in _dBm_.
- * @signal_avg: avg signal strength, type depends on the wiphy's signal_type
- NOTE: For CFG80211_SIGNAL_TYPE_MBM, value is expressed in _dBm_.
+@@ -652,6 +656,9 @@ struct sta_bss_parameters {
+ * For CFG80211_SIGNAL_TYPE_MBM, value is expressed in _dBm_.
+ * @signal_avg: Average signal strength, type depends on the wiphy's signal_type.
+ * For CFG80211_SIGNAL_TYPE_MBM, value is expressed in _dBm_.
+ * @chains: bitmask for filled values in @chain_signal, @chain_signal_avg
+ * @chain_signal: per-chain signal strength of last received packet in dBm
+ * @chain_signal_avg: per-chain 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
-@@ -663,6 +670,11 @@ struct station_info {
+@@ -684,6 +691,11 @@ struct station_info {
u8 plink_state;
s8 signal;
s8 signal_avg;
@@ -137,7 +137,7 @@
u8 rs_num_delims;
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
-@@ -952,6 +952,7 @@ static int ath9k_rx_skb_preprocess(struc
+@@ -955,6 +955,7 @@ static int ath9k_rx_skb_preprocess(struc
bool *decrypt_error)
{
struct ath_hw *ah = common->ah;
@@ -145,7 +145,7 @@
/*
* everything but the rate is checked here, the rate check is done
-@@ -977,6 +978,20 @@ static int ath9k_rx_skb_preprocess(struc
+@@ -980,6 +981,20 @@ static int ath9k_rx_skb_preprocess(struc
if (rx_stats->rs_moreaggr)
rx_status->flag |= RX_FLAG_NO_SIGNAL_VAL;
@@ -229,7 +229,7 @@
if (ads.ds_rxstatus8 & AR_RxKeyIdxValid)
--- a/drivers/net/wireless/ath/ath9k/debug.c
+++ b/drivers/net/wireless/ath/ath9k/debug.c
-@@ -998,12 +998,12 @@ void ath_debug_stat_rx(struct ath_softc
+@@ -997,12 +997,12 @@ void ath_debug_stat_rx(struct ath_softc
#ifdef CONFIG_ATH9K_MAC_DEBUG
spin_lock(&sc->debug.samp_lock);
RX_SAMP_DBG(jiffies) = jiffies;
@@ -250,7 +250,7 @@
RX_SAMP_DBG(rate) = rs->rs_rate;
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
-@@ -1699,6 +1699,8 @@ enum nl80211_sta_bss_param {
+@@ -1729,6 +1729,8 @@ enum nl80211_sta_bss_param {
* @NL80211_STA_INFO_STA_FLAGS: Contains a struct nl80211_sta_flag_update.
* @NL80211_STA_INFO_BEACON_LOSS: count of times beacon loss was detected (u32)
* @NL80211_STA_INFO_T_OFFSET: timing offset with respect to this STA (s64)
@@ -259,7 +259,7 @@
* @__NL80211_STA_INFO_AFTER_LAST: internal
* @NL80211_STA_INFO_MAX: highest possible station info attribute
*/
-@@ -1723,6 +1725,8 @@ enum nl80211_sta_info {
+@@ -1753,6 +1755,8 @@ enum nl80211_sta_info {
NL80211_STA_INFO_STA_FLAGS,
NL80211_STA_INFO_BEACON_LOSS,
NL80211_STA_INFO_T_OFFSET,
@@ -270,7 +270,7 @@
__NL80211_STA_INFO_AFTER_LAST,
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -2553,6 +2553,32 @@ nla_put_failure:
+@@ -2648,6 +2648,32 @@ nla_put_failure:
return false;
}
@@ -303,7 +303,7 @@
static int nl80211_send_station(struct sk_buff *msg, u32 pid, u32 seq,
int flags,
struct cfg80211_registered_device *rdev,
-@@ -2614,6 +2640,18 @@ static int nl80211_send_station(struct s
+@@ -2709,6 +2735,18 @@ static int nl80211_send_station(struct s
default:
break;
}
@@ -324,16 +324,16 @@
NL80211_STA_INFO_TX_BITRATE))
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
-@@ -354,6 +354,7 @@ static void sta_set_sinfo(struct sta_inf
- {
+@@ -355,6 +355,7 @@ static void sta_set_sinfo(struct sta_inf
struct ieee80211_sub_if_data *sdata = sta->sdata;
+ struct ieee80211_local *local = sdata->local;
struct timespec uptime;
+ int i;
sinfo->generation = sdata->local->sta_generation;
-@@ -391,6 +392,17 @@ static void sta_set_sinfo(struct sta_inf
- sinfo->signal = (s8)sta->last_signal;
+@@ -394,6 +395,17 @@ static void sta_set_sinfo(struct sta_inf
+ sinfo->signal = (s8)sta->last_signal;
sinfo->signal_avg = (s8) -ewma_read(&sta->avg_signal);
}
+ if (sta->chains) {