aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/522-ath9k_per_chain_signal_strength.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/522-ath9k_per_chain_signal_strength.patch')
-rw-r--r--package/kernel/mac80211/patches/522-ath9k_per_chain_signal_strength.patch39
1 files changed, 29 insertions, 10 deletions
diff --git a/package/kernel/mac80211/patches/522-ath9k_per_chain_signal_strength.patch b/package/kernel/mac80211/patches/522-ath9k_per_chain_signal_strength.patch
index 5a6c503f26..94e0154551 100644
--- a/package/kernel/mac80211/patches/522-ath9k_per_chain_signal_strength.patch
+++ b/package/kernel/mac80211/patches/522-ath9k_per_chain_signal_strength.patch
@@ -17,7 +17,7 @@
u8 rs_moreaggr;
--- a/drivers/net/wireless/ath/ath9k/recv.c
+++ b/drivers/net/wireless/ath/ath9k/recv.c
-@@ -892,6 +892,7 @@ static void ath9k_process_rssi(struct at
+@@ -906,6 +906,7 @@ static void ath9k_process_rssi(struct at
struct ath_hw *ah = common->ah;
int last_rssi;
int rssi = rx_stats->rs_rssi;
@@ -25,7 +25,7 @@
/*
* RSSI is not available for subframes in an A-MPDU.
-@@ -910,6 +911,20 @@ static void ath9k_process_rssi(struct at
+@@ -924,6 +925,20 @@ static void ath9k_process_rssi(struct at
return;
}
@@ -46,15 +46,34 @@
/*
* Update Beacon RSSI, this is used by ANI.
*/
-@@ -1000,7 +1015,7 @@ static int ath_process_fft(struct ath_so
- fft_sample.tlv.length = __cpu_to_be16(length);
+@@ -1073,14 +1088,14 @@ static int ath_process_fft(struct ath_so
+ fft_sample_40.channel_type = chan_type;
- fft_sample.freq = __cpu_to_be16(ah->curchan->chan->center_freq);
-- fft_sample.rssi = fix_rssi_inv_only(rs->rs_rssi_ctl0);
-+ fft_sample.rssi = fix_rssi_inv_only(rs->rs_rssi_ctl[0]);
- fft_sample.noise = ah->noise;
+ if (chan_type == NL80211_CHAN_HT40PLUS) {
+- lower_rssi = fix_rssi_inv_only(rs->rs_rssi_ctl0);
+- upper_rssi = fix_rssi_inv_only(rs->rs_rssi_ext0);
++ lower_rssi = fix_rssi_inv_only(rs->rs_rssi_ctl[0]);
++ upper_rssi = fix_rssi_inv_only(rs->rs_rssi_ext[0]);
- switch (len - SPECTRAL_HT20_TOTAL_DATA_LEN) {
+ fft_sample_40.lower_noise = ah->noise;
+ fft_sample_40.upper_noise = ext_nf;
+ } else {
+- lower_rssi = fix_rssi_inv_only(rs->rs_rssi_ext0);
+- upper_rssi = fix_rssi_inv_only(rs->rs_rssi_ctl0);
++ lower_rssi = fix_rssi_inv_only(rs->rs_rssi_ext[0]);
++ upper_rssi = fix_rssi_inv_only(rs->rs_rssi_ctl[0]);
+
+ fft_sample_40.lower_noise = ext_nf;
+ fft_sample_40.upper_noise = ah->noise;
+@@ -1116,7 +1131,7 @@ static int ath_process_fft(struct ath_so
+ fft_sample_20.tlv.length = __cpu_to_be16(length);
+ fft_sample_20.freq = __cpu_to_be16(freq);
+
+- fft_sample_20.rssi = fix_rssi_inv_only(rs->rs_rssi_ctl0);
++ fft_sample_20.rssi = fix_rssi_inv_only(rs->rs_rssi_ctl[0]);
+ fft_sample_20.noise = ah->noise;
+
+ mag_info = ((struct ath_ht20_mag_info *)radar_info) - 1;
--- a/drivers/net/wireless/ath/ath9k/ar9003_mac.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_mac.c
@@ -476,12 +476,12 @@ int ath9k_hw_process_rxdesc_edma(struct
@@ -131,7 +150,7 @@
* hardware stores this as 8 bit signed value.
--- a/drivers/net/wireless/ath/ath9k/antenna.c
+++ b/drivers/net/wireless/ath/ath9k/antenna.c
-@@ -744,14 +744,14 @@ void ath_ant_comb_scan(struct ath_softc
+@@ -724,14 +724,14 @@ void ath_ant_comb_scan(struct ath_softc
struct ath_ant_comb *antcomb = &sc->ant_comb;
int alt_ratio = 0, alt_rssi_avg = 0, main_rssi_avg = 0, curr_alt_set;
int curr_main_set;