Browse Source

ath9k: improve signal strength / channel noise reporting accuracy

SVN-Revision: 34592
Felix Fietkau 13 years ago
parent
commit
8d15b064e0
1 changed files with 22 additions and 0 deletions
  1. 22 0
      package/mac80211/patches/300-pending_work.patch

+ 22 - 0
package/mac80211/patches/300-pending_work.patch

@@ -561,3 +561,25 @@
  	ieee80211_rx(ar->hw, skb);
  	return 0;
  }
+--- a/drivers/net/wireless/ath/ath9k/calib.c
++++ b/drivers/net/wireless/ath/ath9k/calib.c
+@@ -69,6 +69,7 @@ s16 ath9k_hw_getchan_noise(struct ath_hw
+ 
+ 	if (chan && chan->noisefloor) {
+ 		s8 delta = chan->noisefloor -
++			   ATH9K_NF_CAL_NOISE_THRESH -
+ 			   ath9k_hw_get_default_nf(ah, chan);
+ 		if (delta > 0)
+ 			noise += delta;
+--- a/drivers/net/wireless/ath/ath9k/calib.h
++++ b/drivers/net/wireless/ath/ath9k/calib.h
+@@ -21,6 +21,9 @@
+ 
+ #define AR_PHY_CCA_FILTERWINDOW_LENGTH          5
+ 
++/* Internal noise floor can vary by about 6db depending on the frequency */
++#define ATH9K_NF_CAL_NOISE_THRESH		6
++
+ #define NUM_NF_READINGS       6
+ #define ATH9K_NF_CAL_HIST_MAX 5
+