summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-07-01 05:10:47 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-07-01 05:10:47 +0000
commitff655eabc3855b67b41cadae3fa7cd0772033d8b (patch)
tree103bb747e5900b474e1931a963540481e6b9fddd
parentfa26f075386ffffbad7fdcde07c1eee8eee760a1 (diff)
ath5k: add a missing srev checks for code that lowers the synth voltage - might fix some stability issues
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27325 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/mac80211/patches/441-ath5k_synth_voltage_srev_check.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/package/mac80211/patches/441-ath5k_synth_voltage_srev_check.patch b/package/mac80211/patches/441-ath5k_synth_voltage_srev_check.patch
new file mode 100644
index 000000000..d08b823c8
--- /dev/null
+++ b/package/mac80211/patches/441-ath5k_synth_voltage_srev_check.patch
@@ -0,0 +1,31 @@
+--- a/drivers/net/wireless/ath/ath5k/phy.c
++++ b/drivers/net/wireless/ath/ath5k/phy.c
+@@ -970,17 +970,20 @@ static int ath5k_hw_rfregs_init(struct a
+ }
+
+ /* Lower synth voltage on Rev 2 */
+- ath5k_hw_rfb_op(ah, rf_regs, 2,
+- AR5K_RF_HIGH_VC_CP, true);
++ if (ah->ah_radio == AR5K_RF5112 &&
++ (ah->ah_radio_5ghz_revision & AR5K_SREV_REV) > 0) {
++ ath5k_hw_rfb_op(ah, rf_regs, 2,
++ AR5K_RF_HIGH_VC_CP, true);
+
+- ath5k_hw_rfb_op(ah, rf_regs, 2,
+- AR5K_RF_MID_VC_CP, true);
++ ath5k_hw_rfb_op(ah, rf_regs, 2,
++ AR5K_RF_MID_VC_CP, true);
+
+- ath5k_hw_rfb_op(ah, rf_regs, 2,
+- AR5K_RF_LOW_VC_CP, true);
++ ath5k_hw_rfb_op(ah, rf_regs, 2,
++ AR5K_RF_LOW_VC_CP, true);
+
+- ath5k_hw_rfb_op(ah, rf_regs, 2,
+- AR5K_RF_PUSH_UP, true);
++ ath5k_hw_rfb_op(ah, rf_regs, 2,
++ AR5K_RF_PUSH_UP, true);
++ }
+
+ /* Decrease power consumption on 5213+ BaseBand */
+ if (ah->ah_phy_revision >= AR5K_SREV_PHY_5212A) {