ath5k: MRR support and 2GHz radio override belong in ah_capabilities
MRR support and 2GHz radio override belong in ah_capabilities and we should use them (e.g. so far we used to set mrr descriptor without checking if MRR support is enabled + we checked for MRR support 2 times, one by trying to set up an MRR descriptor and another one based on MAC version). Signed-off-by: Nick Kossifidis <mickflemm@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
此提交包含在:
@@ -85,12 +85,19 @@ int ath5k_hw_set_capabilities(struct ath5k_hw *ah)
|
||||
caps->cap_range.range_2ghz_min = 2412;
|
||||
caps->cap_range.range_2ghz_max = 2732;
|
||||
|
||||
if (AR5K_EEPROM_HDR_11B(ee_header))
|
||||
__set_bit(AR5K_MODE_11B, caps->cap_mode);
|
||||
/* Override 2GHz modes on SoCs that need it
|
||||
* NOTE: cap_needs_2GHz_ovr gets set from
|
||||
* ath_ahb_probe */
|
||||
if (!caps->cap_needs_2GHz_ovr) {
|
||||
if (AR5K_EEPROM_HDR_11B(ee_header))
|
||||
__set_bit(AR5K_MODE_11B,
|
||||
caps->cap_mode);
|
||||
|
||||
if (AR5K_EEPROM_HDR_11G(ee_header) &&
|
||||
ah->ah_version != AR5K_AR5211)
|
||||
__set_bit(AR5K_MODE_11G, caps->cap_mode);
|
||||
if (AR5K_EEPROM_HDR_11G(ee_header) &&
|
||||
ah->ah_version != AR5K_AR5211)
|
||||
__set_bit(AR5K_MODE_11G,
|
||||
caps->cap_mode);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -103,12 +110,18 @@ int ath5k_hw_set_capabilities(struct ath5k_hw *ah)
|
||||
else
|
||||
caps->cap_queues.q_tx_num = AR5K_NUM_TX_QUEUES;
|
||||
|
||||
/* newer hardware has PHY error counters */
|
||||
/* Newer hardware has PHY error counters */
|
||||
if (ah->ah_mac_srev >= AR5K_SREV_AR5213A)
|
||||
caps->cap_has_phyerr_counters = true;
|
||||
else
|
||||
caps->cap_has_phyerr_counters = false;
|
||||
|
||||
/* MACs since AR5212 have MRR support */
|
||||
if (ah->ah_version == AR5K_AR5212)
|
||||
caps->cap_has_mrr_support = true;
|
||||
else
|
||||
caps->cap_has_mrr_support = false;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
新增問題並參考
封鎖使用者