summaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/332-ath9k_hw-start-initial-NF-calibration-after-PA-calib.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/332-ath9k_hw-start-initial-NF-calibration-after-PA-calib.patch')
-rw-r--r--package/kernel/mac80211/patches/332-ath9k_hw-start-initial-NF-calibration-after-PA-calib.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/332-ath9k_hw-start-initial-NF-calibration-after-PA-calib.patch b/package/kernel/mac80211/patches/332-ath9k_hw-start-initial-NF-calibration-after-PA-calib.patch
new file mode 100644
index 0000000000..e89c8841ff
--- /dev/null
+++ b/package/kernel/mac80211/patches/332-ath9k_hw-start-initial-NF-calibration-after-PA-calib.patch
@@ -0,0 +1,35 @@
+From: Felix Fietkau <nbd@openwrt.org>
+Date: Sat, 18 Oct 2014 13:42:03 +0200
+Subject: [PATCH] ath9k_hw: start initial NF calibration after PA
+ calibration on <AR9003
+
+This makes the initial NF calibration less likely to fail.
+
+Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+---
+
+--- a/drivers/net/wireless/ath/ath9k/ar9002_calib.c
++++ b/drivers/net/wireless/ath/ath9k/ar9002_calib.c
+@@ -854,6 +854,7 @@ static bool ar9002_hw_init_cal(struct at
+
+ /* Do PA Calibration */
+ ar9002_hw_pa_cal(ah, true);
++ ath9k_hw_start_nfcal(ah, true);
+
+ if (ah->caldata)
+ set_bit(NFCAL_PENDING, &ah->caldata->cal_flags);
+--- a/drivers/net/wireless/ath/ath9k/hw.c
++++ b/drivers/net/wireless/ath/ath9k/hw.c
+@@ -1953,8 +1953,10 @@ int ath9k_hw_reset(struct ath_hw *ah, st
+ if (ath9k_hw_mci_is_enabled(ah))
+ ar9003_mci_check_bt(ah);
+
+- ath9k_hw_loadnf(ah, chan);
+- ath9k_hw_start_nfcal(ah, true);
++ if (AR_SREV_9300_20_OR_LATER(ah)) {
++ ath9k_hw_loadnf(ah, chan);
++ ath9k_hw_start_nfcal(ah, true);
++ }
+
+ if (AR_SREV_9300_20_OR_LATER(ah))
+ ar9003_hw_bb_watchdog_config(ah);