diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-12-13 08:40:54 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-12-13 15:23:33 -0500 |
commit | 1bf38661822049931a0ab8d2b43153b26cc919f6 (patch) | |
tree | bea1bec029d0c8fa879dfef06a40798408c8f6dd /drivers/net/wireless/ath/ath9k/main.c | |
parent | 1782352d4908c79d195b43e0c1b6b109e0d93d05 (diff) | |
download | kernel_samsung_tuna-1bf38661822049931a0ab8d2b43153b26cc919f6.zip kernel_samsung_tuna-1bf38661822049931a0ab8d2b43153b26cc919f6.tar.gz kernel_samsung_tuna-1bf38661822049931a0ab8d2b43153b26cc919f6.tar.bz2 |
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.c | 4 |
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 d49dacb..c68205d 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) if (!caldata) return; + if (ar9003_paprd_init_table(ah) < 0) + return; + skb = alloc_skb(len, GFP_KERNEL); if (!skb) return; @@ -388,7 +391,6 @@ void ath_paprd_calibrate(struct work_struct *work) memcpy(hdr->addr3, hw->wiphy->perm_addr, ETH_ALEN); ath9k_ps_wakeup(sc); - ar9003_paprd_init_table(ah); for (chain = 0; chain < AR9300_MAX_CHAINS; chain++) { if (!(common->tx_chainmask & BIT(chain))) continue; |