aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath9k/main.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2010-12-13 02:40:54 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-12-13 15:23:33 -0500
commit1bf38661822049931a0ab8d2b43153b26cc919f6 (patch)
treebea1bec029d0c8fa879dfef06a40798408c8f6dd /drivers/net/wireless/ath/ath9k/main.c
parent1782352d4908c79d195b43e0c1b6b109e0d93d05 (diff)
ath9k_hw: fix PA predistortion training power selection
The EEPROM contains scale factors for the tx power, which define the range of allowable difference between target power and training power. If the difference is too big, PA predistortion cannot be used. For 2.4 GHz there is only one scale factor, for 5 GHz there are three, depending on the specific frequency range. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/main.c')
-rw-r--r--drivers/net/wireless/ath/ath9k/main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c
index d49dacbc96a7..c68205dea1fa 100644
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
@@ -373,6 +373,9 @@ void ath_paprd_calibrate(struct work_struct *work)
373 if (!caldata) 373 if (!caldata)
374 return; 374 return;
375 375
376 if (ar9003_paprd_init_table(ah) < 0)
377 return;
378
376 skb = alloc_skb(len, GFP_KERNEL); 379 skb = alloc_skb(len, GFP_KERNEL);
377 if (!skb) 380 if (!skb)
378 return; 381 return;
@@ -388,7 +391,6 @@ void ath_paprd_calibrate(struct work_struct *work)
388 memcpy(hdr->addr3, hw->wiphy->perm_addr, ETH_ALEN); 391 memcpy(hdr->addr3, hw->wiphy->perm_addr, ETH_ALEN);
389 392
390 ath9k_ps_wakeup(sc); 393 ath9k_ps_wakeup(sc);
391 ar9003_paprd_init_table(ah);
392 for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) { 394 for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) {
393 if (!(common->tx_chainmask & BIT(chain))) 395 if (!(common->tx_chainmask & BIT(chain)))
394 continue; 396 continue;