qcacld-2.0: Modify ETSI AC_BE Txop limit For COT

The Txop limit of AC_BE for ETSI is 6ms. COT fix require
ETSI AC_BE Txop limit minus 500us. Set gStaLocalEDCAForETSI=1
in WCNSS_qcom_cfg.ini to enable COT fix in both AP and
sta.

Change-Id: I8d142078f5ffba6d0fa5f6a4083e89699fcf1f66
CRs-Fixed: 2161931
diff --git a/CORE/MAC/src/pe/sch/schMessage.c b/CORE/MAC/src/pe/sch/schMessage.c
index 497a698..12bfade 100644
--- a/CORE/MAC/src/pe/sch/schMessage.c
+++ b/CORE/MAC/src/pe/sch/schMessage.c
@@ -254,11 +254,7 @@
     tANI_U32 etsi_b[] = {WNI_CFG_EDCA_ETSI_ACBE, WNI_CFG_EDCA_ETSI_ACBK,
                    WNI_CFG_EDCA_ETSI_ACVI, WNI_CFG_EDCA_ETSI_ACVO};
 
-    if(pMac->roam.configParam.gStaLocalEDCAEnable)
-    {
-        val = WNI_CFG_EDCA_PROFILE_ETSI_EUROPE;
-    }
-    else if ((wlan_cfgGetStr(pMac, WNI_CFG_COUNTRY_CODE, country_code_str,
+    if ((wlan_cfgGetStr(pMac, WNI_CFG_COUNTRY_CODE, country_code_str,
                         &country_code_len) == eSIR_SUCCESS) &&
         vos_is_etsi_europe_country(country_code_str)) {
         val = WNI_CFG_EDCA_PROFILE_ETSI_EUROPE;
@@ -332,6 +328,15 @@
         for (idx=0; idx < len; idx++)
             params[i][idx] = (tANI_U32) data[idx];
     }
+
+    /* If gStaLocalEDCAEnable = 1,
+     * WNI_CFG_EDCA_ETSI_ACBE Txop limit minus 500us
+     */
+    if (local && (val == WNI_CFG_EDCA_PROFILE_ETSI_EUROPE) &&
+        pMac->roam.configParam.gStaLocalEDCAEnable) {
+        /* Txop limit 5500us / 32 = 0xab */
+        params[0][WNI_CFG_EDCA_PROFILE_TXOPA_IDX] = 0xab;
+    }
     PELOG1(schLog(pMac, LOG1, FL("GetParams: local=%d, profile = %d Done"), local, val);)
     return eSIR_SUCCESS;
 }
diff --git a/CORE/SME/src/sme_common/sme_Api.c b/CORE/SME/src/sme_common/sme_Api.c
index db41071..02c1ae8 100644
--- a/CORE/SME/src/sme_common/sme_Api.c
+++ b/CORE/SME/src/sme_common/sme_Api.c
@@ -5108,6 +5108,8 @@
       pParam->sub20_channelwidth = pMac->sub20_channelwidth;
       pParam->sub20_dynamic_channelwidth = pMac->sub20_dynamic_channelwidth;
       pParam->sta_change_cc_via_beacon = pMac->sta_change_cc_via_beacon;
+      pParam->csrConfig.gStaLocalEDCAEnable =
+              pMac->roam.configParam.gStaLocalEDCAEnable;
       sme_ReleaseGlobalLock( &pMac->sme );
    }