diff options
author | Senthil Balasubramanian <senthilkumar@atheros.com> | 2009-09-16 23:57:33 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-09-23 11:35:52 -0400 |
commit | ce143bb04491a586ec95798711dee7fd43fbe042 (patch) | |
tree | 1ff8e227adcfc1e519959c0ee4f45ffc298682cd /drivers/net/wireless/ath/ath9k/calib.c | |
parent | 0a475cc6a0ac8e38ac3587cff87026551800b7fe (diff) |
ath9k: Adjust the chainmasks properly
This is needed to account for the number of chains in use,
not just the number of chains present.
Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/calib.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/calib.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/drivers/net/wireless/ath/ath9k/calib.c b/drivers/net/wireless/ath/ath9k/calib.c index 439f2c743d85..22a3a6903867 100644 --- a/drivers/net/wireless/ath/ath9k/calib.c +++ b/drivers/net/wireless/ath/ath9k/calib.c | |||
@@ -609,14 +609,24 @@ void ath9k_hw_loadnf(struct ath_hw *ah, struct ath9k_channel *chan) | |||
609 | AR_PHY_CH1_EXT_CCA, | 609 | AR_PHY_CH1_EXT_CCA, |
610 | AR_PHY_CH2_EXT_CCA | 610 | AR_PHY_CH2_EXT_CCA |
611 | }; | 611 | }; |
612 | u8 chainmask; | 612 | u8 chainmask, rx_chain_status; |
613 | 613 | ||
614 | rx_chain_status = REG_READ(ah, AR_PHY_RX_CHAINMASK); | ||
614 | if (AR_SREV_9285(ah)) | 615 | if (AR_SREV_9285(ah)) |
615 | chainmask = 0x9; | 616 | chainmask = 0x9; |
616 | else if (AR_SREV_9280(ah) || AR_SREV_9287(ah)) | 617 | else if (AR_SREV_9280(ah) || AR_SREV_9287(ah)) { |
617 | chainmask = 0x1B; | 618 | if ((rx_chain_status & 0x2) || (rx_chain_status & 0x4)) |
618 | else | 619 | chainmask = 0x1B; |
619 | chainmask = 0x3F; | 620 | else |
621 | chainmask = 0x09; | ||
622 | } else { | ||
623 | if (rx_chain_status & 0x4) | ||
624 | chainmask = 0x3F; | ||
625 | else if (rx_chain_status & 0x2) | ||
626 | chainmask = 0x1B; | ||
627 | else | ||
628 | chainmask = 0x09; | ||
629 | } | ||
620 | 630 | ||
621 | h = ah->nfCalHist; | 631 | h = ah->nfCalHist; |
622 | 632 | ||