diff options
author | Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com> | 2011-06-21 05:21:46 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-06-22 16:09:48 -0400 |
commit | 7952ca5b20e1d54a3bfdfd976086c6f9df5873a2 (patch) | |
tree | 540bf358207066968d3f896911bf26bc4b877f14 | |
parent | 9720bb3ab0b80659c63ed337eab66104a4156db0 (diff) |
ath9k_hw: Fix calculation of PAPRD training power at 5Ghz
higher the chainmask, lesser the power_delta to be added
to the paprd_training_power
Signed-off-by: Mohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ar9003_paprd.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9003_paprd.c b/drivers/net/wireless/ath/ath9k/ar9003_paprd.c index fc9c08f513cf..8f6d11dfa371 100644 --- a/drivers/net/wireless/ath/ath9k/ar9003_paprd.c +++ b/drivers/net/wireless/ath/ath9k/ar9003_paprd.c | |||
@@ -83,7 +83,23 @@ static int ar9003_get_training_power_5g(struct ath_hw *ah) | |||
83 | if (delta > scale) | 83 | if (delta > scale) |
84 | return -1; | 84 | return -1; |
85 | 85 | ||
86 | power += 2 * get_streams(common->tx_chainmask); | 86 | switch (get_streams(common->tx_chainmask)) { |
87 | case 1: | ||
88 | delta = 6; | ||
89 | break; | ||
90 | case 2: | ||
91 | delta = 4; | ||
92 | break; | ||
93 | case 3: | ||
94 | delta = 2; | ||
95 | break; | ||
96 | default: | ||
97 | delta = 0; | ||
98 | ath_dbg(common, ATH_DBG_CALIBRATE, | ||
99 | "Invalid tx-chainmask: %u\n", common->tx_chainmask); | ||
100 | } | ||
101 | |||
102 | power += delta; | ||
87 | return power; | 103 | return power; |
88 | } | 104 | } |
89 | 105 | ||