ath9k: improve signal strength / channel noise reporting accuracy
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 10 Dec 2012 13:51:02 +0000 (13:51 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 10 Dec 2012 13:51:02 +0000 (13:51 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34592 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mac80211/patches/300-pending_work.patch

index d22f8d7..753bf0b 100644 (file)
        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