aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2012-12-10 13:51:02 +0000
committerFelix Fietkau <nbd@openwrt.org>2012-12-10 13:51:02 +0000
commit8d15b064e0f79ed7cd326df9e91a03fabd0a8e8c (patch)
tree513c64ca5090dfc53d85e1cf8beb58b52d1d7de3
parent45a02165939cc158c5bfe882c96fe96d295423d6 (diff)
downloadupstream-8d15b064e0f79ed7cd326df9e91a03fabd0a8e8c.tar.gz
upstream-8d15b064e0f79ed7cd326df9e91a03fabd0a8e8c.tar.bz2
upstream-8d15b064e0f79ed7cd326df9e91a03fabd0a8e8c.zip
ath9k: improve signal strength / channel noise reporting accuracy
SVN-Revision: 34592
-rw-r--r--package/mac80211/patches/300-pending_work.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch
index d22f8d76b3..753bf0bbb8 100644
--- a/package/mac80211/patches/300-pending_work.patch
+++ b/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
+