aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSujith <Sujith.Manoharan@atheros.com>2009-02-20 04:43:23 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-02-27 14:52:49 -0500
commit8147f5de7a7f241a729aaec912df7dd87a473cd0 (patch)
treed03f5147b7c361587d5de1bd9856c952b54af828 /drivers
parent9e7127908473bfb863c5064b0a61d0f0d6b1af46 (diff)
ath9k: Fix bug in EEPROM chainmask retrieval
Using wrong chainmasks would have an adverse impact on performance. This patch fixes chainmask retrieval for non-PCIE cards. Signed-off-by: Sujith <Sujith.Manoharan@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/ath9k/hw.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/net/wireless/ath9k/hw.c b/drivers/net/wireless/ath9k/hw.c
index 6f2e92ec77ae..2acbb84dc2ba 100644
--- a/drivers/net/wireless/ath9k/hw.c
+++ b/drivers/net/wireless/ath9k/hw.c
@@ -3220,14 +3220,11 @@ bool ath9k_hw_fill_cap_info(struct ath_hw *ah)
3220 } 3220 }
3221 3221
3222 pCap->tx_chainmask = ah->eep_ops->get_eeprom(ah, EEP_TX_MASK); 3222 pCap->tx_chainmask = ah->eep_ops->get_eeprom(ah, EEP_TX_MASK);
3223 if ((ah->is_pciexpress) 3223 if ((ah->hw_version.devid == AR5416_DEVID_PCI) &&
3224 || (eeval & AR5416_OPFLAGS_11A)) { 3224 !(eeval & AR5416_OPFLAGS_11A))
3225 pCap->rx_chainmask = 3225 pCap->rx_chainmask = ath9k_hw_gpio_get(ah, 0) ? 0x5 : 0x7;
3226 ah->eep_ops->get_eeprom(ah, EEP_RX_MASK); 3226 else
3227 } else { 3227 pCap->rx_chainmask = ah->eep_ops->get_eeprom(ah, EEP_RX_MASK);
3228 pCap->rx_chainmask =
3229 (ath9k_hw_gpio_get(ah, 0)) ? 0x5 : 0x7;
3230 }
3231 3228
3232 if (!(AR_SREV_9280(ah) && (ah->hw_version.macRev == 0))) 3229 if (!(AR_SREV_9280(ah) && (ah->hw_version.macRev == 0)))
3233 ah->misc_mode |= AR_PCU_MIC_NEW_LOC_ENA; 3230 ah->misc_mode |= AR_PCU_MIC_NEW_LOC_ENA;