summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/mac80211/patches/531-ath9k_nf_cleanup.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/package/mac80211/patches/531-ath9k_nf_cleanup.patch b/package/mac80211/patches/531-ath9k_nf_cleanup.patch
new file mode 100644
index 0000000000..f038559a44
--- /dev/null
+++ b/package/mac80211/patches/531-ath9k_nf_cleanup.patch
@@ -0,0 +1,30 @@
+--- a/drivers/net/wireless/ath/ath9k/calib.c
++++ b/drivers/net/wireless/ath/ath9k/calib.c
+@@ -172,26 +172,9 @@ void ath9k_hw_loadnf(struct ath_hw *ah,
+ struct ath9k_nfcal_hist *h;
+ unsigned i, j;
+ int32_t val;
+- u8 chainmask;
++ u8 chainmask = (ah->rxchainmask << 3) | ah->rxchainmask;
+ struct ath_common *common = ath9k_hw_common(ah);
+
+- if (AR_SREV_9300_20_OR_LATER(ah))
+- chainmask = 0x3F;
+- else if (AR_SREV_9285(ah) || AR_SREV_9271(ah))
+- chainmask = 0x9;
+- else if (AR_SREV_9280(ah) || AR_SREV_9287(ah)) {
+- if ((ah->rxchainmask & 0x2) || (ah->rxchainmask & 0x4))
+- chainmask = 0x1B;
+- else
+- chainmask = 0x09;
+- } else {
+- if (ah->rxchainmask & 0x4)
+- chainmask = 0x3F;
+- else if (ah->rxchainmask & 0x2)
+- chainmask = 0x1B;
+- else
+- chainmask = 0x09;
+- }
+ h = ah->nfCalHist;
+
+ for (i = 0; i < NUM_NF_READINGS; i++) {