From c77311f68937d37c4789b1e06a327c1aa0e4a1db Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Thu, 12 Jun 2014 11:41:12 +0000
Subject: [PATCH] ath9k: fix initial noise floor calibration on older chips

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41156
---
 .../patches/567-ath9k_fix_init_nfcal.patch    | 25 +++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 package/kernel/mac80211/patches/567-ath9k_fix_init_nfcal.patch

diff --git a/package/kernel/mac80211/patches/567-ath9k_fix_init_nfcal.patch b/package/kernel/mac80211/patches/567-ath9k_fix_init_nfcal.patch
new file mode 100644
index 0000000000..8a4be73ea1
--- /dev/null
+++ b/package/kernel/mac80211/patches/567-ath9k_fix_init_nfcal.patch
@@ -0,0 +1,25 @@
+--- 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
+@@ -1969,8 +1969,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);
-- 
GitLab