aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath
diff options
context:
space:
mode:
authorRajkumar Manoharan <rmanohar@qti.qualcomm.com>2014-06-24 12:57:39 -0400
committerJohn W. Linville <linville@tuxdriver.com>2014-06-25 15:40:38 -0400
commitaf2db444855a574cb58db1f5f6b7a53f2c0fefda (patch)
tree03c234b74d2f9e7bddab95c6344d6de41e532bbd /drivers/net/wireless/ath
parentddbbd9e854f00f4f78d5f3df4e374af3d9eec5b2 (diff)
ath9k_hw: fix tx gain table index for AR953x
Fix tx gain table index on fast channel change for AR953x. Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath')
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_phy.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.c b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
index 8927fc34d84c..542a8d51d3b0 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
@@ -1552,13 +1552,15 @@ static int ar9003_hw_fast_chan_change(struct ath_hw *ah,
1552 u8 *ini_reloaded) 1552 u8 *ini_reloaded)
1553{ 1553{
1554 unsigned int regWrites = 0; 1554 unsigned int regWrites = 0;
1555 u32 modesIndex; 1555 u32 modesIndex, txgain_index;
1556 1556
1557 if (IS_CHAN_5GHZ(chan)) 1557 if (IS_CHAN_5GHZ(chan))
1558 modesIndex = IS_CHAN_HT40(chan) ? 2 : 1; 1558 modesIndex = IS_CHAN_HT40(chan) ? 2 : 1;
1559 else 1559 else
1560 modesIndex = IS_CHAN_HT40(chan) ? 3 : 4; 1560 modesIndex = IS_CHAN_HT40(chan) ? 3 : 4;
1561 1561
1562 txgain_index = AR_SREV_9531(ah) ? 1 : modesIndex;
1563
1562 if (modesIndex == ah->modes_index) { 1564 if (modesIndex == ah->modes_index) {
1563 *ini_reloaded = false; 1565 *ini_reloaded = false;
1564 goto set_rfmode; 1566 goto set_rfmode;
@@ -1573,7 +1575,7 @@ static int ar9003_hw_fast_chan_change(struct ath_hw *ah,
1573 ar9003_hw_prog_ini(ah, &ah->ini_radio_post_sys2ant, 1575 ar9003_hw_prog_ini(ah, &ah->ini_radio_post_sys2ant,
1574 modesIndex); 1576 modesIndex);
1575 1577
1576 REG_WRITE_ARRAY(&ah->iniModesTxGain, modesIndex, regWrites); 1578 REG_WRITE_ARRAY(&ah->iniModesTxGain, txgain_index, regWrites);
1577 1579
1578 if (AR_SREV_9462_20_OR_LATER(ah)) { 1580 if (AR_SREV_9462_20_OR_LATER(ah)) {
1579 /* 1581 /*