aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2011-05-04 17:01:26 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-05-05 14:59:22 -0400
commitcf3a03b9c99a0b2715741d116f50f513f545bb2d (patch)
tree6481a1e8cd920d70a3e8a4952975878eb7789164 /drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
parent4268d8ed64ed918384954924284ba396cdb0e388 (diff)
ath9k_hw: fix power for the HT40 duplicate frames
With AR9003 at about ~ 10 feet from an AP that uses RTS / CTS you will be able to associate but not not get data through given that the power for the rates used was set too low. This increases the power and permits data connectivity at longer distances from access points when connected with HT40. Without this you will not get any data through when associated to APs configured in HT40 at about more than 10 feet away. Cc: stable@kernel.org Cc: Fiona Cain <fcain@atheros.com> Cc: Zhen Xie <Zhen.Xie@Atheros.com> Cc: Kathy Giori <kathy.giori@atheros.com> Cc: Neha Choksi <neha.choksi@atheros.com> Cc: Wayne Daniel <wayne.daniel@atheros.com> Cc: Gaurav Jauhar <gaurav.jauhar@atheros.com> Cc: Samira Naraghi <samira.naraghi@atheros.com> CC: Ashok Chennupati <ashok.chennupati@atheros.com> Cc: Lance Zimmerman <lance.zimmerman@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ar9003_eeprom.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9003_eeprom.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
index 97f970c5e4e..a9dd3a4b4af 100644
--- a/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
+++ b/drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
@@ -4005,6 +4005,16 @@ static int ar9003_hw_tx_power_regwrite(struct ath_hw *ah, u8 * pPwrArray)
4005 POW_SM(pPwrArray[ALL_TARGET_LEGACY_1L_5L], 0) 4005 POW_SM(pPwrArray[ALL_TARGET_LEGACY_1L_5L], 0)
4006 ); 4006 );
4007 4007
4008 /* Write the power for duplicated frames - HT40 */
4009
4010 /* dup40_cck (LSB), dup40_ofdm, ext20_cck, ext20_ofdm (MSB) */
4011 REG_WRITE(ah, 0xa3e0,
4012 POW_SM(pPwrArray[ALL_TARGET_LEGACY_6_24], 24) |
4013 POW_SM(pPwrArray[ALL_TARGET_LEGACY_1L_5L], 16) |
4014 POW_SM(pPwrArray[ALL_TARGET_LEGACY_6_24], 8) |
4015 POW_SM(pPwrArray[ALL_TARGET_LEGACY_1L_5L], 0)
4016 );
4017
4008 /* Write the HT20 power per rate set */ 4018 /* Write the HT20 power per rate set */
4009 4019
4010 /* 0/8/16 (LSB), 1-3/9-11/17-19, 4, 5 (MSB) */ 4020 /* 0/8/16 (LSB), 1-3/9-11/17-19, 4, 5 (MSB) */