Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit acc81826 authored by Ravi Joshi's avatar Ravi Joshi Committed by Madan Mohan Koyyalamudi
Browse files

wlan: Fix for disable/enable VHT for 2.4 GHz band

IEEE 802.11 specification does not mandate VHT operation in 2.4 GHz
band. Hence providing configuration option for enable/disable the
same.

Change-Id: Ib100233c5cd66b90debc38af11d35286fafacbac
CRs-Fixed: 554354
parent 8bdfac4c
Loading
Loading
Loading
Loading
+43 −6
Original line number Diff line number Diff line
@@ -1646,6 +1646,7 @@ eHalStatus csrGetConfigParam(tpAniSirGlobal pMac, tCsrConfigParam *pParam)
        pParam->nVhtChannelWidth = pMac->roam.configParam.nVhtChannelWidth;
        pParam->enableTxBF = pMac->roam.configParam.txBFEnable;
        pParam->txBFCsnValue = pMac->roam.configParam.txBFCsnValue;
        pParam->enableVhtFor24GHz = pMac->roam.configParam.enableVhtFor24GHz;
#endif
#ifdef WLAN_FEATURE_VOWIFI_11R
        palCopyMemory( pMac->hHdd, &pMac->roam.configParam.csr11rConfig, &pParam->csr11rConfig, sizeof(tCsr11rConfigParams) );
@@ -10207,9 +10208,21 @@ static eCsrCfgDot11Mode csrRoamGetPhyModeBandForBss( tpAniSirGlobal pMac, tCsrRo
#ifdef WLAN_FEATURE_11AC
            case eCSR_CFG_DOT11_MODE_11AC:
                if (IS_FEATURE_SUPPORTED_BY_FW(DOT11AC))
                {
                    /* If the operating channel is in 2.4 GHz band, check for
                     * INI item to disable VHT operation in 2.4 GHz band
                     */
                    if (CSR_IS_CHANNEL_24GHZ(operationChn) &&
                        !pMac->roam.configParam.enableVhtFor24GHz)
                    {
                       /* Disable 11AC operation */
                       cfgDot11Mode = eCSR_CFG_DOT11_MODE_11N;
                    }
                    else
                    {
                       cfgDot11Mode = eCSR_CFG_DOT11_MODE_11AC;
                    eBand = eCSR_BAND_5G;
                    }
                    eBand = CSR_IS_CHANNEL_24GHZ(operationChn) ? eCSR_BAND_24 : eCSR_BAND_5G;
                }
                else
                {
@@ -10219,9 +10232,21 @@ static eCsrCfgDot11Mode csrRoamGetPhyModeBandForBss( tpAniSirGlobal pMac, tCsrRo
                break;
            case eCSR_CFG_DOT11_MODE_11AC_ONLY:
                if (IS_FEATURE_SUPPORTED_BY_FW(DOT11AC))
                {
                   /* If the operating channel is in 2.4 GHz band, check for
                    * INI item to disable VHT operation in 2.4 GHz band
                    */
                   if (CSR_IS_CHANNEL_24GHZ(operationChn) &&
                       !pMac->roam.configParam.enableVhtFor24GHz)
                   {
                      /* Disable 11AC operation */
                      cfgDot11Mode = eCSR_CFG_DOT11_MODE_11N;
                   }
                   else
                   {
                      cfgDot11Mode = eCSR_CFG_DOT11_MODE_11AC_ONLY;
                    eBand = eCSR_BAND_5G;
                   }
                   eBand = CSR_IS_CHANNEL_24GHZ(operationChn) ? eCSR_BAND_24 : eCSR_BAND_5G;
                }
                else
                {
@@ -10254,9 +10279,21 @@ static eCsrCfgDot11Mode csrRoamGetPhyModeBandForBss( tpAniSirGlobal pMac, tCsrRo
                {
#ifdef WLAN_FEATURE_11AC
                    if (IS_FEATURE_SUPPORTED_BY_FW(DOT11AC))
                    {
                       /* If the operating channel is in 2.4 GHz band, check for
                        * INI item to disable VHT operation in 2.4 GHz band
                        */
                       if (CSR_IS_CHANNEL_24GHZ(operationChn) &&
                           !pMac->roam.configParam.enableVhtFor24GHz)
                       {
                          /* Disable 11AC operation */
                          cfgDot11Mode = eCSR_CFG_DOT11_MODE_11N;
                       }
                       else
                       {
                          cfgDot11Mode = eCSR_CFG_DOT11_MODE_11AC;
                        eBand = eCSR_BAND_5G;
                       }
                       eBand = CSR_IS_CHANNEL_24GHZ(operationChn) ? eCSR_BAND_24 : eCSR_BAND_5G;
                    }
                    else
                    {