|
@@ -5755,132 +5755,6 @@ bool csr_rates_is_dot11_rate_supported(struct mac_context *mac_ctx, uint8_t rate
|
|
|
return csr_is_aggregate_rate_supported(mac_ctx, n);
|
|
|
}
|
|
|
|
|
|
-static uint16_t csr_rates_mac_prop_to_dot11(uint16_t Rate)
|
|
|
-{
|
|
|
- uint16_t ConvertedRate = Rate;
|
|
|
-
|
|
|
- switch (Rate) {
|
|
|
- case SIR_MAC_RATE_1:
|
|
|
- ConvertedRate = 2;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_2:
|
|
|
- ConvertedRate = 4;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_5_5:
|
|
|
- ConvertedRate = 11;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_11:
|
|
|
- ConvertedRate = 22;
|
|
|
- break;
|
|
|
-
|
|
|
- case SIR_MAC_RATE_6:
|
|
|
- ConvertedRate = 12;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_9:
|
|
|
- ConvertedRate = 18;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_12:
|
|
|
- ConvertedRate = 24;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_18:
|
|
|
- ConvertedRate = 36;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_24:
|
|
|
- ConvertedRate = 48;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_36:
|
|
|
- ConvertedRate = 72;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_42:
|
|
|
- ConvertedRate = 84;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_48:
|
|
|
- ConvertedRate = 96;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_54:
|
|
|
- ConvertedRate = 108;
|
|
|
- break;
|
|
|
-
|
|
|
- case SIR_MAC_RATE_72:
|
|
|
- ConvertedRate = 144;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_84:
|
|
|
- ConvertedRate = 168;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_96:
|
|
|
- ConvertedRate = 192;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_108:
|
|
|
- ConvertedRate = 216;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_126:
|
|
|
- ConvertedRate = 252;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_144:
|
|
|
- ConvertedRate = 288;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_168:
|
|
|
- ConvertedRate = 336;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_192:
|
|
|
- ConvertedRate = 384;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_216:
|
|
|
- ConvertedRate = 432;
|
|
|
- break;
|
|
|
- case SIR_MAC_RATE_240:
|
|
|
- ConvertedRate = 480;
|
|
|
- break;
|
|
|
-
|
|
|
- case 0xff:
|
|
|
- ConvertedRate = 0;
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- return ConvertedRate;
|
|
|
-}
|
|
|
-
|
|
|
-uint16_t csr_rates_find_best_rate(tSirMacRateSet *pSuppRates,
|
|
|
- tSirMacRateSet *pExtRates,
|
|
|
- tSirMacPropRateSet *pPropRates)
|
|
|
-{
|
|
|
- uint8_t i;
|
|
|
- uint16_t nBest;
|
|
|
-
|
|
|
- nBest = pSuppRates->rate[0] & (~CSR_DOT11_BASIC_RATE_MASK);
|
|
|
-
|
|
|
- if (pSuppRates->numRates > SIR_MAC_RATESET_EID_MAX)
|
|
|
- pSuppRates->numRates = SIR_MAC_RATESET_EID_MAX;
|
|
|
-
|
|
|
- for (i = 1U; i < pSuppRates->numRates; ++i) {
|
|
|
- nBest =
|
|
|
- (uint16_t) CSR_MAX(nBest,
|
|
|
- pSuppRates->
|
|
|
- rate[i] & (~CSR_DOT11_BASIC_RATE_MASK));
|
|
|
- }
|
|
|
-
|
|
|
- if (NULL != pExtRates) {
|
|
|
- for (i = 0U; i < pExtRates->numRates; ++i) {
|
|
|
- nBest =
|
|
|
- (uint16_t) CSR_MAX(nBest,
|
|
|
- pExtRates->
|
|
|
- rate[i] &
|
|
|
- (~CSR_DOT11_BASIC_RATE_MASK));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (NULL != pPropRates) {
|
|
|
- for (i = 0U; i < pPropRates->numPropRates; ++i) {
|
|
|
- nBest =
|
|
|
- (uint16_t) CSR_MAX(nBest,
|
|
|
- csr_rates_mac_prop_to_dot11
|
|
|
- (pPropRates->propRate[i]));
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return nBest;
|
|
|
-}
|
|
|
-
|
|
|
#ifdef WLAN_FEATURE_FILS_SK
|
|
|
static inline void csr_free_fils_profile_info(struct csr_roam_profile *profile)
|
|
|
{
|