Wlan: Configuration Knob to enable/disable adaptive rx drain

Configuration Knob to enable/disable Adaptive Rx drain feature

Change-Id: I8751f774c26799060ff4204bc87f5edc771964fd
CRs-fixed: 500104
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index a216c52..b39680d 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -275,6 +275,14 @@
 #define CFG_MAX_RX_AMPDU_FACTOR_MAX            WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMAX 
 #define CFG_MAX_RX_AMPDU_FACTOR_DEFAULT        WNI_CFG_MAX_RX_AMPDU_FACTOR_STADEF 
 
+//Configuration added to enable/disable CTS2SELF in
+//Adaptive RX drain feature
+#define CFG_ENABLE_ADAPT_RX_DRAIN_NAME     "gEnableAdaptRxDrain"
+#define CFG_ENABLE_ADAPT_RX_DRAIN_MIN       WNI_CFG_ENABLE_ADAPT_RX_DRAIN_STAMIN
+#define CFG_ENABLE_ADAPT_RX_DRAIN_MAX       WNI_CFG_ENABLE_ADAPT_RX_DRAIN_STAMAX
+#define CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT   WNI_CFG_ENABLE_ADAPT_RX_DRAIN_STADEF
+
+
 typedef enum
 {
     eHDD_DOT11_MODE_AUTO = 0, //covers all things we support
@@ -2182,6 +2190,7 @@
    /* Flag indicating whether legacy fast roam during concurrency is enabled in cfg.ini or not */
    v_BOOL_t                    bFastRoamInConIniFeatureEnabled;
 #endif
+   v_BOOL_t                    fEnableAdaptRxDrain;
 } hdd_config_t;
 /*--------------------------------------------------------------------------- 
   Function declarations and documenation
diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c
index c0ab631..a68a02f 100644
--- a/CORE/HDD/src/wlan_hdd_cfg.c
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
@@ -2364,6 +2364,13 @@
                         cbNotifySetEnableFastRoamInConcurrency, 0 ),
 #endif
 
+   REG_VARIABLE( CFG_ENABLE_ADAPT_RX_DRAIN_NAME, WLAN_PARAM_Integer,
+                 hdd_config_t, fEnableAdaptRxDrain,
+                 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK ,
+                 CFG_ENABLE_ADAPT_RX_DRAIN_DEFAULT,
+                 CFG_ENABLE_ADAPT_RX_DRAIN_MIN,
+                 CFG_ENABLE_ADAPT_RX_DRAIN_MAX),
+
 };
 
 /*
@@ -3863,32 +3870,43 @@
 
 #ifdef FEATURE_WLAN_TDLS
 
-   if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK, pConfig->fTDLSUapsdMask,
-      NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
+   if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK,
+                    pConfig->fTDLSUapsdMask, NULL,
+                    eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
    {
       fStatus = FALSE;
-      hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM\n");
+      hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_QOS_WMM_UAPSD_MASK to CCM");
    }
-   if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED, pConfig->fEnableTDLSBufferSta,
-      NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
+   if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_BUF_STA_ENABLED,
+                    pConfig->fEnableTDLSBufferSta, NULL,
+                    eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
    {
       fStatus = FALSE;
-      hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM\n");
+      hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_BUF_STA_ENABLED to CCM");
    }
-   if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME, pConfig->fTDLSPuapsdInactivityTimer,
-      NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
+   if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_PUAPSD_INACT_TIME,
+                    pConfig->fTDLSPuapsdInactivityTimer, NULL,
+                    eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
    {
       fStatus = FALSE;
-      hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM\n");
+      hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_PUAPSD_INACT_TIME to CCM");
    }
-   if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD, pConfig->fTDLSRxFrameThreshold,
-      NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
+   if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_TDLS_RX_FRAME_THRESHOLD,
+                    pConfig->fTDLSRxFrameThreshold, NULL,
+                    eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
    {
       fStatus = FALSE;
-      hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM\n");
+      hddLog(LOGE, "Could not pass on WNI_CFG_TDLS_RX_FRAME_THRESHOLD to CCM");
    }
 #endif
 
+   if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ENABLE_ADAPT_RX_DRAIN,
+                    pConfig->fEnableAdaptRxDrain, NULL,
+                    eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
+   {
+      fStatus = FALSE;
+      hddLog(LOGE, "Could not pass on WNI_CFG_ENABLE_ADAPT_RX_DRAIN to CCM");
+   }
    return fStatus;
 }
 
diff --git a/CORE/MAC/inc/wniCfgAp.h b/CORE/MAC/inc/wniCfgAp.h
index 551b97c..c2f8b73 100644
--- a/CORE/MAC/inc/wniCfgAp.h
+++ b/CORE/MAC/inc/wniCfgAp.h
@@ -359,6 +359,7 @@
 #define WNI_CFG_TDLS_BUF_STA_ENABLED    299
 #define WNI_CFG_TDLS_PUAPSD_INACT_TIME    300
 #define WNI_CFG_TDLS_RX_FRAME_THRESHOLD    301
+#define WNI_CFG_ENABLE_ADAPT_RX_DRAIN    302
 
 /*
  * String parameter lengths 
@@ -2517,10 +2518,14 @@
 #define WNI_CFG_TDLS_RX_FRAME_THRESHOLD_APMAX    20
 #define WNI_CFG_TDLS_RX_FRAME_THRESHOLD_APDEF    10
 
-#define CFG_PARAM_MAX_NUM         302
-#define CFG_AP_IBUF_MAX_SIZE      241
+#define WNI_CFG_ENABLE_ADAPT_RX_DRAIN_STAMIN    0
+#define WNI_CFG_ENABLE_ADAPT_RX_DRAIN_STAMAX    1
+#define WNI_CFG_ENABLE_ADAPT_RX_DRAIN_STADEF    1
+
+#define CFG_PARAM_MAX_NUM         303
+#define CFG_AP_IBUF_MAX_SIZE      242
 #define CFG_AP_SBUF_MAX_SIZE      3422
-#define CFG_STA_IBUF_MAX_SIZE     236
+#define CFG_STA_IBUF_MAX_SIZE     237
 #define CFG_STA_SBUF_MAX_SIZE     3388
 #define CFG_SEM_MAX_NUM           19
 
diff --git a/CORE/MAC/inc/wniCfgSta.h b/CORE/MAC/inc/wniCfgSta.h
index 81c44a0..930c94c 100644
--- a/CORE/MAC/inc/wniCfgSta.h
+++ b/CORE/MAC/inc/wniCfgSta.h
@@ -353,6 +353,7 @@
 #define WNI_CFG_TDLS_BUF_STA_ENABLED    299
 #define WNI_CFG_TDLS_PUAPSD_INACT_TIME    300
 #define WNI_CFG_TDLS_RX_FRAME_THRESHOLD    301
+#define WNI_CFG_ENABLE_ADAPT_RX_DRAIN    302
 
 /*
  * String parameter lengths 
@@ -1630,8 +1631,12 @@
 #define WNI_CFG_TDLS_RX_FRAME_THRESHOLD_STAMAX    20
 #define WNI_CFG_TDLS_RX_FRAME_THRESHOLD_STADEF    10
 
-#define CFG_PARAM_MAX_NUM        302
-#define CFG_STA_IBUF_MAX_SIZE    236
+#define WNI_CFG_ENABLE_ADAPT_RX_DRAIN_STAMIN    0
+#define WNI_CFG_ENABLE_ADAPT_RX_DRAIN_STAMAX    1
+#define WNI_CFG_ENABLE_ADAPT_RX_DRAIN_STADEF    1
+
+#define CFG_PARAM_MAX_NUM        303
+#define CFG_STA_IBUF_MAX_SIZE    237
 #define CFG_STA_SBUF_MAX_SIZE    3388
 #define CFG_SEM_MAX_NUM          19
 
diff --git a/CORE/MAC/src/cfg/cfgParamName.c b/CORE/MAC/src/cfg/cfgParamName.c
index e75f729..b63303a 100644
--- a/CORE/MAC/src/cfg/cfgParamName.c
+++ b/CORE/MAC/src/cfg/cfgParamName.c
@@ -19,7 +19,7 @@
   * PERFORMANCE OF THIS SOFTWARE.
 */
 /*
- * DO NOT EDIT - This file is generated automaticlly
+ * DO NOT EDIT - This file is generated automatically
  */
 
 /*
@@ -28,308 +28,309 @@
 #include "cfgPriv.h"
 
 unsigned char *gCfgParamName[] = {
-	(unsigned char *)"STA_ID",
-	(unsigned char *)"CF_POLLABLE",
-	(unsigned char *)"CFP_PERIOD",
-	(unsigned char *)"CFP_MAX_DURATION",
-	(unsigned char *)"SSID",
-	(unsigned char *)"BEACON_INTERVAL",
-	(unsigned char *)"DTIM_PERIOD",
-	(unsigned char *)"WEP_KEY_LENGTH",
-	(unsigned char *)"WEP_DEFAULT_KEY_1",
-	(unsigned char *)"WEP_DEFAULT_KEY_2",
-	(unsigned char *)"WEP_DEFAULT_KEY_3",
-	(unsigned char *)"WEP_DEFAULT_KEY_4",
-	(unsigned char *)"WEP_DEFAULT_KEYID",
-	(unsigned char *)"EXCLUDE_UNENCRYPTED",
-	(unsigned char *)"RTS_THRESHOLD",
-	(unsigned char *)"SHORT_RETRY_LIMIT",
-	(unsigned char *)"LONG_RETRY_LIMIT",
-	(unsigned char *)"FRAGMENTATION_THRESHOLD",
-	(unsigned char *)"ACTIVE_MINIMUM_CHANNEL_TIME",
-	(unsigned char *)"ACTIVE_MAXIMUM_CHANNEL_TIME",
-	(unsigned char *)"PASSIVE_MINIMUM_CHANNEL_TIME",
-	(unsigned char *)"PASSIVE_MAXIMUM_CHANNEL_TIME",
-	(unsigned char *)"JOIN_FAILURE_TIMEOUT",
-	(unsigned char *)"AUTHENTICATE_FAILURE_TIMEOUT",
-	(unsigned char *)"AUTHENTICATE_RSP_TIMEOUT",
-	(unsigned char *)"ASSOCIATION_FAILURE_TIMEOUT",
-	(unsigned char *)"REASSOCIATION_FAILURE_TIMEOUT",
-	(unsigned char *)"RA_PERIODICITY_TIMEOUT_IN_PS",
-	(unsigned char *)"PS_ENABLE_BCN_FILTER",
-	(unsigned char *)"PS_ENABLE_HEART_BEAT",
-	(unsigned char *)"PS_ENABLE_RSSI_MONITOR",
-	(unsigned char *)"PS_DATA_INACTIVITY_TIMEOUT",
-	(unsigned char *)"RF_SETTLING_TIME_CLK",
-	(unsigned char *)"SUPPORTED_RATES_11B",
-	(unsigned char *)"SUPPORTED_RATES_11A",
-	(unsigned char *)"PHY_MODE",
-	(unsigned char *)"DOT11_MODE",
-	(unsigned char *)"OPERATIONAL_RATE_SET",
-	(unsigned char *)"EXTENDED_OPERATIONAL_RATE_SET",
-	(unsigned char *)"PROPRIETARY_OPERATIONAL_RATE_SET",
-	(unsigned char *)"BSSID",
-	(unsigned char *)"LISTEN_INTERVAL",
-	(unsigned char *)"VALID_CHANNEL_LIST",
-	(unsigned char *)"CURRENT_CHANNEL",
-	(unsigned char *)"DEFAULT_RATE_INDEX_5GHZ",
-	(unsigned char *)"DEFAULT_RATE_INDEX_24GHZ",
-	(unsigned char *)"RATE_ADAPTATION_TYPE",
-	(unsigned char *)"FIXED_RATE",
-	(unsigned char *)"FIXED_RATE_MULTICAST_24GHZ",
-	(unsigned char *)"FIXED_RATE_MULTICAST_5GHZ",
-	(unsigned char *)"RETRYRATE_POLICY",
-	(unsigned char *)"RETRYRATE_SECONDARY",
-	(unsigned char *)"RETRYRATE_TERTIARY",
-	(unsigned char *)"APSD_ENABLED",
-	(unsigned char *)"SHARED_KEY_AUTH_ENABLE",
-	(unsigned char *)"OPEN_SYSTEM_AUTH_ENABLE",
-	(unsigned char *)"AUTHENTICATION_TYPE",
-	(unsigned char *)"CF_POLL_REQUEST",
-	(unsigned char *)"PRIVACY_ENABLED",
-	(unsigned char *)"SHORT_PREAMBLE",
-	(unsigned char *)"SHORT_SLOT_TIME",
-	(unsigned char *)"ACCEPT_SHORT_SLOT_ASSOC_ONLY",
-	(unsigned char *)"QOS_ENABLED",
-	(unsigned char *)"HCF_ENABLED",
-	(unsigned char *)"RSN_ENABLED",
-	(unsigned char *)"BACKGROUND_SCAN_PERIOD",
-	(unsigned char *)"MAX_NUM_PRE_AUTH",
-	(unsigned char *)"PREAUTH_CLNUP_TIMEOUT",
-	(unsigned char *)"RELEASE_AID_TIMEOUT",
-	(unsigned char *)"HEART_BEAT_THRESHOLD",
-	(unsigned char *)"PROBE_AFTER_HB_FAIL_TIMEOUT",
-	(unsigned char *)"MANUFACTURER_OUI",
-	(unsigned char *)"MANUFACTURER_NAME",
-	(unsigned char *)"MODEL_NUMBER",
-	(unsigned char *)"MODEL_NAME",
-	(unsigned char *)"MANUFACTURER_PRODUCT_NAME",
-	(unsigned char *)"MANUFACTURER_PRODUCT_VERSION",
-	(unsigned char *)"11D_ENABLED",
-	(unsigned char *)"MAX_TX_POWER_2_4",
-	(unsigned char *)"MAX_TX_POWER_5",
-	(unsigned char *)"NETWORK_DENSITY",
-	(unsigned char *)"ADAPTIVE_THRESHOLD_ALGORITHM",
-	(unsigned char *)"CURRENT_TX_ANTENNA",
-	(unsigned char *)"CURRENT_RX_ANTENNA",
-	(unsigned char *)"CURRENT_TX_POWER_LEVEL",
-	(unsigned char *)"POWER_STATE_PER_CHAIN",
-	(unsigned char *)"NEW_BSS_FOUND_IND",
-	(unsigned char *)"PROPRIETARY_ANI_FEATURES_ENABLED",
-	(unsigned char *)"PROPRIETARY_RATES_ENABLED",
-	(unsigned char *)"AP_NODE_NAME",
-	(unsigned char *)"COUNTRY_CODE",
-	(unsigned char *)"11H_ENABLED",
-	(unsigned char *)"WT_CNF_TIMEOUT",
-	(unsigned char *)"KEEPALIVE_TIMEOUT",
-	(unsigned char *)"PROXIMITY",
-	(unsigned char *)"LOG_LEVEL",
-	(unsigned char *)"OLBC_DETECT_TIMEOUT",
-	(unsigned char *)"PROTECTION_ENABLED",
-	(unsigned char *)"11G_PROTECTION_ALWAYS",
-	(unsigned char *)"FORCE_POLICY_PROTECTION",
-	(unsigned char *)"11G_SHORT_PREAMBLE_ENABLED",
-	(unsigned char *)"11G_SHORT_SLOT_TIME_ENABLED",
-	(unsigned char *)"CAL_PERIOD",
-	(unsigned char *)"STATS_PERIOD",
-	(unsigned char *)"CAL_CONTROL",
-	(unsigned char *)"11G_ONLY_POLICY",
-	(unsigned char *)"PACKET_CLASSIFICATION",
-	(unsigned char *)"WME_ENABLED",
-	(unsigned char *)"ADDTS_RSP_TIMEOUT",
-	(unsigned char *)"MAX_SP_LENGTH",
-	(unsigned char *)"KEEP_ALIVE_STA_LIMIT_THRESHOLD",
-	(unsigned char *)"SEND_SINGLE_SSID_ALWAYS",
-	(unsigned char *)"WSM_ENABLED",
-	(unsigned char *)"PROP_CAPABILITY",
-	(unsigned char *)"EDCA_PROFILE",
-	(unsigned char *)"EDCA_ANI_ACBK_LOCAL",
-	(unsigned char *)"EDCA_ANI_ACBE_LOCAL",
-	(unsigned char *)"EDCA_ANI_ACVI_LOCAL",
-	(unsigned char *)"EDCA_ANI_ACVO_LOCAL",
-	(unsigned char *)"EDCA_ANI_ACBK",
-	(unsigned char *)"EDCA_ANI_ACBE",
-	(unsigned char *)"EDCA_ANI_ACVI",
-	(unsigned char *)"EDCA_ANI_ACVO",
-	(unsigned char *)"EDCA_WME_ACBK_LOCAL",
-	(unsigned char *)"EDCA_WME_ACBE_LOCAL",
-	(unsigned char *)"EDCA_WME_ACVI_LOCAL",
-	(unsigned char *)"EDCA_WME_ACVO_LOCAL",
-	(unsigned char *)"EDCA_WME_ACBK",
-	(unsigned char *)"EDCA_WME_ACBE",
-	(unsigned char *)"EDCA_WME_ACVI",
-	(unsigned char *)"EDCA_WME_ACVO",
-	(unsigned char *)"EDCA_TIT_DEMO_ACBK_LOCAL",
-	(unsigned char *)"EDCA_TIT_DEMO_ACBE_LOCAL",
-	(unsigned char *)"EDCA_TIT_DEMO_ACVI_LOCAL",
-	(unsigned char *)"EDCA_TIT_DEMO_ACVO_LOCAL",
-	(unsigned char *)"EDCA_TIT_DEMO_ACBK",
-	(unsigned char *)"EDCA_TIT_DEMO_ACBE",
-	(unsigned char *)"EDCA_TIT_DEMO_ACVI",
-	(unsigned char *)"EDCA_TIT_DEMO_ACVO",
-	(unsigned char *)"RDET_FLAG",
-	(unsigned char *)"RADAR_CHANNEL_LIST",
-	(unsigned char *)"LOCAL_POWER_CONSTRAINT",
-	(unsigned char *)"ADMIT_POLICY",
-	(unsigned char *)"ADMIT_BWFACTOR",
-	(unsigned char *)"MAX_CONSECUTIVE_BACKGROUND_SCAN_FAILURE",
-	(unsigned char *)"CHANNEL_BONDING_MODE",
-	(unsigned char *)"CB_SECONDARY_CHANNEL_STATE",
-	(unsigned char *)"DYNAMIC_THRESHOLD_ZERO",
-	(unsigned char *)"DYNAMIC_THRESHOLD_ONE",
-	(unsigned char *)"DYNAMIC_THRESHOLD_TWO",
-	(unsigned char *)"TRIG_STA_BK_SCAN",
-	(unsigned char *)"DYNAMIC_PROFILE_SWITCHING",
-	(unsigned char *)"SCAN_CONTROL_LIST",
-	(unsigned char *)"MIMO_ENABLED",
-	(unsigned char *)"BLOCK_ACK_ENABLED",
-	(unsigned char *)"BA_ACTIVITY_CHECK_TIMEOUT",
-	(unsigned char *)"HT_RX_STBC",
-	(unsigned char *)"HT_CAP_INFO",
-	(unsigned char *)"HT_AMPDU_PARAMS",
-	(unsigned char *)"SUPPORTED_MCS_SET",
-	(unsigned char *)"EXT_HT_CAP_INFO",
-	(unsigned char *)"TX_BF_CAP",
-	(unsigned char *)"AS_CAP",
-	(unsigned char *)"HT_INFO_FIELD1",
-	(unsigned char *)"HT_INFO_FIELD2",
-	(unsigned char *)"HT_INFO_FIELD3",
-	(unsigned char *)"BASIC_MCS_SET",
-	(unsigned char *)"CURRENT_MCS_SET",
-	(unsigned char *)"GREENFIELD_CAPABILITY",
-	(unsigned char *)"VHT_MAX_MPDU_LENGTH",
-	(unsigned char *)"VHT_SUPPORTED_CHAN_WIDTH_SET",
-	(unsigned char *)"VHT_LDPC_CODING_CAP",
-	(unsigned char *)"VHT_SHORT_GI_80MHZ",
-	(unsigned char *)"VHT_SHORT_GI_160_AND_80_PLUS_80MHZ",
-	(unsigned char *)"VHT_TXSTBC",
-	(unsigned char *)"VHT_RXSTBC",
-	(unsigned char *)"VHT_SU_BEAMFORMER_CAP",
-	(unsigned char *)"VHT_SU_BEAMFORMEE_CAP",
-	(unsigned char *)"VHT_CSN_BEAMFORMEE_ANT_SUPPORTED",
-	(unsigned char *)"VHT_NUM_SOUNDING_DIMENSIONS",
-	(unsigned char *)"VHT_MU_BEAMFORMER_CAP",
-	(unsigned char *)"VHT_MU_BEAMFORMEE_CAP",
-	(unsigned char *)"VHT_TXOP_PS",
-	(unsigned char *)"VHT_HTC_VHTC_CAP",
-	(unsigned char *)"VHT_AMPDU_LEN_EXPONENT",
-	(unsigned char *)"VHT_LINK_ADAPTATION_CAP",
-	(unsigned char *)"VHT_RX_ANT_PATTERN",
-	(unsigned char *)"VHT_TX_ANT_PATTERN",
-	(unsigned char *)"VHT_RX_MCS_MAP",
-	(unsigned char *)"VHT_TX_MCS_MAP",
-	(unsigned char *)"VHT_RX_HIGHEST_SUPPORTED_DATA_RATE",
-	(unsigned char *)"VHT_TX_HIGHEST_SUPPORTED_DATA_RATE",
-	(unsigned char *)"VHT_CHANNEL_WIDTH",
-	(unsigned char *)"VHT_CHANNEL_CENTER_FREQ_SEGMENT1",
-	(unsigned char *)"VHT_CHANNEL_CENTER_FREQ_SEGMENT2",
-	(unsigned char *)"VHT_BASIC_MCS_SET",
-	(unsigned char *)"VHT_MU_MIMO_CAP_STA_COUNT",
-	(unsigned char *)"VHT_SS_UNDER_UTIL",
-	(unsigned char *)"VHT_40MHZ_UTILIZATION",
-	(unsigned char *)"VHT_80MHZ_UTILIZATION",
-	(unsigned char *)"VHT_160MHZ_UTILIZATION",
-	(unsigned char *)"MAX_AMSDU_LENGTH",
-	(unsigned char *)"MPDU_DENSITY",
-	(unsigned char *)"NUM_BUFF_ADVERT",
-	(unsigned char *)"MAX_RX_AMPDU_FACTOR",
-	(unsigned char *)"SHORT_GI_20MHZ",
-	(unsigned char *)"SHORT_GI_40MHZ",
-	(unsigned char *)"RIFS_ENABLED",
-	(unsigned char *)"MAX_PS_POLL",
-	(unsigned char *)"NUM_BEACON_PER_RSSI_AVERAGE",
-	(unsigned char *)"RSSI_FILTER_PERIOD",
-	(unsigned char *)"MIN_RSSI_THRESHOLD",
-	(unsigned char *)"NTH_BEACON_FILTER",
-	(unsigned char *)"BROADCAST_FRAME_FILTER_ENABLE",
-	(unsigned char *)"SCAN_IN_POWERSAVE",
-	(unsigned char *)"IGNORE_DTIM",
-	(unsigned char *)"WOWLAN_UCAST_PATTERN_FILTER_ENABLE",
-	(unsigned char *)"WOWLAN_CHANNEL_SWITCH_ENABLE",
-	(unsigned char *)"WOWLAN_DEAUTH_ENABLE",
-	(unsigned char *)"WOWLAN_DISASSOC_ENABLE",
-	(unsigned char *)"WOWLAN_MAX_MISSED_BEACON",
-	(unsigned char *)"WOWLAN_MAX_SLEEP_PERIOD",
-	(unsigned char *)"BA_TIMEOUT",
-	(unsigned char *)"BA_THRESHOLD_HIGH",
-	(unsigned char *)"MAX_BA_BUFFERS",
-	(unsigned char *)"MAX_BA_SESSIONS",
-	(unsigned char *)"BA_AUTO_SETUP",
-	(unsigned char *)"ADDBA_REQ_DECLINE",
-	(unsigned char *)"DEL_ALL_RX_BA_SESSIONS_2_4_G_BTC",
-	(unsigned char *)"BG_SCAN_CHANNEL_LIST",
-	(unsigned char *)"MAX_MEDIUM_TIME",
-	(unsigned char *)"MAX_MPDUS_IN_AMPDU",
-	(unsigned char *)"IBSS_AUTO_BSSID",
-	(unsigned char *)"PROBE_REQ_ADDNIE_FLAG",
-	(unsigned char *)"PROBE_REQ_ADDNIE_DATA",
-	(unsigned char *)"PROBE_RSP_ADDNIE_FLAG",
-	(unsigned char *)"PROBE_RSP_ADDNIE_DATA1",
-	(unsigned char *)"PROBE_RSP_ADDNIE_DATA2",
-	(unsigned char *)"PROBE_RSP_ADDNIE_DATA3",
-	(unsigned char *)"ASSOC_RSP_ADDNIE_FLAG",
-	(unsigned char *)"ASSOC_RSP_ADDNIE_DATA",
-	(unsigned char *)"PROBE_REQ_ADDNP2PIE_FLAG",
-	(unsigned char *)"PROBE_REQ_ADDNP2PIE_DATA",
-	(unsigned char *)"PROBE_RSP_BCN_ADDNIE_FLAG",
-	(unsigned char *)"PROBE_RSP_BCN_ADDNIE_DATA",
-	(unsigned char *)"WPS_ENABLE",
-	(unsigned char *)"WPS_STATE",
-	(unsigned char *)"WPS_PROBE_REQ_FLAG",
-	(unsigned char *)"WPS_VERSION",
-	(unsigned char *)"WPS_REQUEST_TYPE",
-	(unsigned char *)"WPS_CFG_METHOD",
-	(unsigned char *)"WPS_UUID",
-	(unsigned char *)"WPS_PRIMARY_DEVICE_CATEGORY",
-	(unsigned char *)"WPS_PIMARY_DEVICE_OUI",
-	(unsigned char *)"WPS_DEVICE_SUB_CATEGORY",
-	(unsigned char *)"WPS_ASSOCIATION_STATE",
-	(unsigned char *)"WPS_CONFIGURATION_ERROR",
-	(unsigned char *)"WPS_DEVICE_PASSWORD_ID",
-	(unsigned char *)"WPS_ASSOC_METHOD",
-	(unsigned char *)"LOW_GAIN_OVERRIDE",
-	(unsigned char *)"ENABLE_PHY_AGC_LISTEN_MODE",
-	(unsigned char *)"RPE_POLLING_THRESHOLD",
-	(unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC0_REG",
-	(unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC1_REG",
-	(unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC2_REG",
-	(unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC3_REG",
-	(unsigned char *)"NO_OF_ONCHIP_REORDER_SESSIONS",
-	(unsigned char *)"SINGLE_TID_RC",
-	(unsigned char *)"RRM_ENABLED",
-	(unsigned char *)"RRM_OPERATING_CHAN_MAX",
-	(unsigned char *)"RRM_NON_OPERATING_CHAN_MAX",
-	(unsigned char *)"TX_PWR_CTRL_ENABLE",
-	(unsigned char *)"MCAST_BCAST_FILTER_SETTING",
-	(unsigned char *)"BTC_DHCP_BT_SLOTS_TO_BLOCK",
-	(unsigned char *)"DYNAMIC_PS_POLL_VALUE",
-	(unsigned char *)"PS_NULLDATA_AP_RESP_TIMEOUT",
-	(unsigned char *)"TELE_BCN_WAKEUP_EN",
-	(unsigned char *)"TELE_BCN_TRANS_LI",
-	(unsigned char *)"TELE_BCN_TRANS_LI_IDLE_BCNS",
-	(unsigned char *)"TELE_BCN_MAX_LI",
-	(unsigned char *)"TELE_BCN_MAX_LI_IDLE_BCNS",
-	(unsigned char *)"BTC_A2DP_DHCP_BT_SUB_INTERVALS",
-	(unsigned char *)"INFRA_STA_KEEP_ALIVE_PERIOD",
-	(unsigned char *)"ASSOC_STA_LIMIT",
-	(unsigned char *)"SAP_CHANNEL_SELECT_START_CHANNEL",
-	(unsigned char *)"SAP_CHANNEL_SELECT_END_CHANNEL",
-	(unsigned char *)"SAP_CHANNEL_SELECT_OPERATING_BAND",
-	(unsigned char *)"AP_DATA_AVAIL_POLL_PERIOD",
-	(unsigned char *)"ENABLE_CLOSE_LOOP",
-	(unsigned char *)"ENABLE_LTE_COEX",
-	(unsigned char *)"AP_KEEP_ALIVE_TIMEOUT",
-	(unsigned char *)"GO_KEEP_ALIVE_TIMEOUT",
-	(unsigned char *)"ENABLE_MC_ADDR_LIST",
-	(unsigned char *)"ENABLE_UC_FILTER",
-	(unsigned char *)"ENABLE_LPWR_IMG_TRANSITION",
-	(unsigned char *)"ENABLE_MCC_ADAPTIVE_SCHED",
-	(unsigned char *)"DISABLE_LDPC_WITH_TXBF_AP",
-	(unsigned char *)"AP_LINK_MONITOR_TIMEOUT",
-	(unsigned char *)"TDLS_QOS_WMM_UAPSD_MASK",
-	(unsigned char *)"TDLS_BUF_STA_ENABLED",
-	(unsigned char *)"TDLS_PUAPSD_INACT_TIME",
-	(unsigned char *)"TDLS_RX_FRAME_THRESHOLD",
+    (unsigned char *)"STA_ID",
+    (unsigned char *)"CF_POLLABLE",
+    (unsigned char *)"CFP_PERIOD",
+    (unsigned char *)"CFP_MAX_DURATION",
+    (unsigned char *)"SSID",
+    (unsigned char *)"BEACON_INTERVAL",
+    (unsigned char *)"DTIM_PERIOD",
+    (unsigned char *)"WEP_KEY_LENGTH",
+    (unsigned char *)"WEP_DEFAULT_KEY_1",
+    (unsigned char *)"WEP_DEFAULT_KEY_2",
+    (unsigned char *)"WEP_DEFAULT_KEY_3",
+    (unsigned char *)"WEP_DEFAULT_KEY_4",
+    (unsigned char *)"WEP_DEFAULT_KEYID",
+    (unsigned char *)"EXCLUDE_UNENCRYPTED",
+    (unsigned char *)"RTS_THRESHOLD",
+    (unsigned char *)"SHORT_RETRY_LIMIT",
+    (unsigned char *)"LONG_RETRY_LIMIT",
+    (unsigned char *)"FRAGMENTATION_THRESHOLD",
+    (unsigned char *)"ACTIVE_MINIMUM_CHANNEL_TIME",
+    (unsigned char *)"ACTIVE_MAXIMUM_CHANNEL_TIME",
+    (unsigned char *)"PASSIVE_MINIMUM_CHANNEL_TIME",
+    (unsigned char *)"PASSIVE_MAXIMUM_CHANNEL_TIME",
+    (unsigned char *)"JOIN_FAILURE_TIMEOUT",
+    (unsigned char *)"AUTHENTICATE_FAILURE_TIMEOUT",
+    (unsigned char *)"AUTHENTICATE_RSP_TIMEOUT",
+    (unsigned char *)"ASSOCIATION_FAILURE_TIMEOUT",
+    (unsigned char *)"REASSOCIATION_FAILURE_TIMEOUT",
+    (unsigned char *)"RA_PERIODICITY_TIMEOUT_IN_PS",
+    (unsigned char *)"PS_ENABLE_BCN_FILTER",
+    (unsigned char *)"PS_ENABLE_HEART_BEAT",
+    (unsigned char *)"PS_ENABLE_RSSI_MONITOR",
+    (unsigned char *)"PS_DATA_INACTIVITY_TIMEOUT",
+    (unsigned char *)"RF_SETTLING_TIME_CLK",
+    (unsigned char *)"SUPPORTED_RATES_11B",
+    (unsigned char *)"SUPPORTED_RATES_11A",
+    (unsigned char *)"PHY_MODE",
+    (unsigned char *)"DOT11_MODE",
+    (unsigned char *)"OPERATIONAL_RATE_SET",
+    (unsigned char *)"EXTENDED_OPERATIONAL_RATE_SET",
+    (unsigned char *)"PROPRIETARY_OPERATIONAL_RATE_SET",
+    (unsigned char *)"BSSID",
+    (unsigned char *)"LISTEN_INTERVAL",
+    (unsigned char *)"VALID_CHANNEL_LIST",
+    (unsigned char *)"CURRENT_CHANNEL",
+    (unsigned char *)"DEFAULT_RATE_INDEX_5GHZ",
+    (unsigned char *)"DEFAULT_RATE_INDEX_24GHZ",
+    (unsigned char *)"RATE_ADAPTATION_TYPE",
+    (unsigned char *)"FIXED_RATE",
+    (unsigned char *)"FIXED_RATE_MULTICAST_24GHZ",
+    (unsigned char *)"FIXED_RATE_MULTICAST_5GHZ",
+    (unsigned char *)"RETRYRATE_POLICY",
+    (unsigned char *)"RETRYRATE_SECONDARY",
+    (unsigned char *)"RETRYRATE_TERTIARY",
+    (unsigned char *)"APSD_ENABLED",
+    (unsigned char *)"SHARED_KEY_AUTH_ENABLE",
+    (unsigned char *)"OPEN_SYSTEM_AUTH_ENABLE",
+    (unsigned char *)"AUTHENTICATION_TYPE",
+    (unsigned char *)"CF_POLL_REQUEST",
+    (unsigned char *)"PRIVACY_ENABLED",
+    (unsigned char *)"SHORT_PREAMBLE",
+    (unsigned char *)"SHORT_SLOT_TIME",
+    (unsigned char *)"ACCEPT_SHORT_SLOT_ASSOC_ONLY",
+    (unsigned char *)"QOS_ENABLED",
+    (unsigned char *)"HCF_ENABLED",
+    (unsigned char *)"RSN_ENABLED",
+    (unsigned char *)"BACKGROUND_SCAN_PERIOD",
+    (unsigned char *)"MAX_NUM_PRE_AUTH",
+    (unsigned char *)"PREAUTH_CLNUP_TIMEOUT",
+    (unsigned char *)"RELEASE_AID_TIMEOUT",
+    (unsigned char *)"HEART_BEAT_THRESHOLD",
+    (unsigned char *)"PROBE_AFTER_HB_FAIL_TIMEOUT",
+    (unsigned char *)"MANUFACTURER_OUI",
+    (unsigned char *)"MANUFACTURER_NAME",
+    (unsigned char *)"MODEL_NUMBER",
+    (unsigned char *)"MODEL_NAME",
+    (unsigned char *)"MANUFACTURER_PRODUCT_NAME",
+    (unsigned char *)"MANUFACTURER_PRODUCT_VERSION",
+    (unsigned char *)"11D_ENABLED",
+    (unsigned char *)"MAX_TX_POWER_2_4",
+    (unsigned char *)"MAX_TX_POWER_5",
+    (unsigned char *)"NETWORK_DENSITY",
+    (unsigned char *)"ADAPTIVE_THRESHOLD_ALGORITHM",
+    (unsigned char *)"CURRENT_TX_ANTENNA",
+    (unsigned char *)"CURRENT_RX_ANTENNA",
+    (unsigned char *)"CURRENT_TX_POWER_LEVEL",
+    (unsigned char *)"POWER_STATE_PER_CHAIN",
+    (unsigned char *)"NEW_BSS_FOUND_IND",
+    (unsigned char *)"PROPRIETARY_ANI_FEATURES_ENABLED",
+    (unsigned char *)"PROPRIETARY_RATES_ENABLED",
+    (unsigned char *)"AP_NODE_NAME",
+    (unsigned char *)"COUNTRY_CODE",
+    (unsigned char *)"11H_ENABLED",
+    (unsigned char *)"WT_CNF_TIMEOUT",
+    (unsigned char *)"KEEPALIVE_TIMEOUT",
+    (unsigned char *)"PROXIMITY",
+    (unsigned char *)"LOG_LEVEL",
+    (unsigned char *)"OLBC_DETECT_TIMEOUT",
+    (unsigned char *)"PROTECTION_ENABLED",
+    (unsigned char *)"11G_PROTECTION_ALWAYS",
+    (unsigned char *)"FORCE_POLICY_PROTECTION",
+    (unsigned char *)"11G_SHORT_PREAMBLE_ENABLED",
+    (unsigned char *)"11G_SHORT_SLOT_TIME_ENABLED",
+    (unsigned char *)"CAL_PERIOD",
+    (unsigned char *)"STATS_PERIOD",
+    (unsigned char *)"CAL_CONTROL",
+    (unsigned char *)"11G_ONLY_POLICY",
+    (unsigned char *)"PACKET_CLASSIFICATION",
+    (unsigned char *)"WME_ENABLED",
+    (unsigned char *)"ADDTS_RSP_TIMEOUT",
+    (unsigned char *)"MAX_SP_LENGTH",
+    (unsigned char *)"KEEP_ALIVE_STA_LIMIT_THRESHOLD",
+    (unsigned char *)"SEND_SINGLE_SSID_ALWAYS",
+    (unsigned char *)"WSM_ENABLED",
+    (unsigned char *)"PROP_CAPABILITY",
+    (unsigned char *)"EDCA_PROFILE",
+    (unsigned char *)"EDCA_ANI_ACBK_LOCAL",
+    (unsigned char *)"EDCA_ANI_ACBE_LOCAL",
+    (unsigned char *)"EDCA_ANI_ACVI_LOCAL",
+    (unsigned char *)"EDCA_ANI_ACVO_LOCAL",
+    (unsigned char *)"EDCA_ANI_ACBK",
+    (unsigned char *)"EDCA_ANI_ACBE",
+    (unsigned char *)"EDCA_ANI_ACVI",
+    (unsigned char *)"EDCA_ANI_ACVO",
+    (unsigned char *)"EDCA_WME_ACBK_LOCAL",
+    (unsigned char *)"EDCA_WME_ACBE_LOCAL",
+    (unsigned char *)"EDCA_WME_ACVI_LOCAL",
+    (unsigned char *)"EDCA_WME_ACVO_LOCAL",
+    (unsigned char *)"EDCA_WME_ACBK",
+    (unsigned char *)"EDCA_WME_ACBE",
+    (unsigned char *)"EDCA_WME_ACVI",
+    (unsigned char *)"EDCA_WME_ACVO",
+    (unsigned char *)"EDCA_TIT_DEMO_ACBK_LOCAL",
+    (unsigned char *)"EDCA_TIT_DEMO_ACBE_LOCAL",
+    (unsigned char *)"EDCA_TIT_DEMO_ACVI_LOCAL",
+    (unsigned char *)"EDCA_TIT_DEMO_ACVO_LOCAL",
+    (unsigned char *)"EDCA_TIT_DEMO_ACBK",
+    (unsigned char *)"EDCA_TIT_DEMO_ACBE",
+    (unsigned char *)"EDCA_TIT_DEMO_ACVI",
+    (unsigned char *)"EDCA_TIT_DEMO_ACVO",
+    (unsigned char *)"RDET_FLAG",
+    (unsigned char *)"RADAR_CHANNEL_LIST",
+    (unsigned char *)"LOCAL_POWER_CONSTRAINT",
+    (unsigned char *)"ADMIT_POLICY",
+    (unsigned char *)"ADMIT_BWFACTOR",
+    (unsigned char *)"MAX_CONSECUTIVE_BACKGROUND_SCAN_FAILURE",
+    (unsigned char *)"CHANNEL_BONDING_MODE",
+    (unsigned char *)"CB_SECONDARY_CHANNEL_STATE",
+    (unsigned char *)"DYNAMIC_THRESHOLD_ZERO",
+    (unsigned char *)"DYNAMIC_THRESHOLD_ONE",
+    (unsigned char *)"DYNAMIC_THRESHOLD_TWO",
+    (unsigned char *)"TRIG_STA_BK_SCAN",
+    (unsigned char *)"DYNAMIC_PROFILE_SWITCHING",
+    (unsigned char *)"SCAN_CONTROL_LIST",
+    (unsigned char *)"MIMO_ENABLED",
+    (unsigned char *)"BLOCK_ACK_ENABLED",
+    (unsigned char *)"BA_ACTIVITY_CHECK_TIMEOUT",
+    (unsigned char *)"HT_RX_STBC",
+    (unsigned char *)"HT_CAP_INFO",
+    (unsigned char *)"HT_AMPDU_PARAMS",
+    (unsigned char *)"SUPPORTED_MCS_SET",
+    (unsigned char *)"EXT_HT_CAP_INFO",
+    (unsigned char *)"TX_BF_CAP",
+    (unsigned char *)"AS_CAP",
+    (unsigned char *)"HT_INFO_FIELD1",
+    (unsigned char *)"HT_INFO_FIELD2",
+    (unsigned char *)"HT_INFO_FIELD3",
+    (unsigned char *)"BASIC_MCS_SET",
+    (unsigned char *)"CURRENT_MCS_SET",
+    (unsigned char *)"GREENFIELD_CAPABILITY",
+    (unsigned char *)"VHT_MAX_MPDU_LENGTH",
+    (unsigned char *)"VHT_SUPPORTED_CHAN_WIDTH_SET",
+    (unsigned char *)"VHT_LDPC_CODING_CAP",
+    (unsigned char *)"VHT_SHORT_GI_80MHZ",
+    (unsigned char *)"VHT_SHORT_GI_160_AND_80_PLUS_80MHZ",
+    (unsigned char *)"VHT_TXSTBC",
+    (unsigned char *)"VHT_RXSTBC",
+    (unsigned char *)"VHT_SU_BEAMFORMER_CAP",
+    (unsigned char *)"VHT_SU_BEAMFORMEE_CAP",
+    (unsigned char *)"VHT_CSN_BEAMFORMEE_ANT_SUPPORTED",
+    (unsigned char *)"VHT_NUM_SOUNDING_DIMENSIONS",
+    (unsigned char *)"VHT_MU_BEAMFORMER_CAP",
+    (unsigned char *)"VHT_MU_BEAMFORMEE_CAP",
+    (unsigned char *)"VHT_TXOP_PS",
+    (unsigned char *)"VHT_HTC_VHTC_CAP",
+    (unsigned char *)"VHT_AMPDU_LEN_EXPONENT",
+    (unsigned char *)"VHT_LINK_ADAPTATION_CAP",
+    (unsigned char *)"VHT_RX_ANT_PATTERN",
+    (unsigned char *)"VHT_TX_ANT_PATTERN",
+    (unsigned char *)"VHT_RX_MCS_MAP",
+    (unsigned char *)"VHT_TX_MCS_MAP",
+    (unsigned char *)"VHT_RX_HIGHEST_SUPPORTED_DATA_RATE",
+    (unsigned char *)"VHT_TX_HIGHEST_SUPPORTED_DATA_RATE",
+    (unsigned char *)"VHT_CHANNEL_WIDTH",
+    (unsigned char *)"VHT_CHANNEL_CENTER_FREQ_SEGMENT1",
+    (unsigned char *)"VHT_CHANNEL_CENTER_FREQ_SEGMENT2",
+    (unsigned char *)"VHT_BASIC_MCS_SET",
+    (unsigned char *)"VHT_MU_MIMO_CAP_STA_COUNT",
+    (unsigned char *)"VHT_SS_UNDER_UTIL",
+    (unsigned char *)"VHT_40MHZ_UTILIZATION",
+    (unsigned char *)"VHT_80MHZ_UTILIZATION",
+    (unsigned char *)"VHT_160MHZ_UTILIZATION",
+    (unsigned char *)"MAX_AMSDU_LENGTH",
+    (unsigned char *)"MPDU_DENSITY",
+    (unsigned char *)"NUM_BUFF_ADVERT",
+    (unsigned char *)"MAX_RX_AMPDU_FACTOR",
+    (unsigned char *)"SHORT_GI_20MHZ",
+    (unsigned char *)"SHORT_GI_40MHZ",
+    (unsigned char *)"RIFS_ENABLED",
+    (unsigned char *)"MAX_PS_POLL",
+    (unsigned char *)"NUM_BEACON_PER_RSSI_AVERAGE",
+    (unsigned char *)"RSSI_FILTER_PERIOD",
+    (unsigned char *)"MIN_RSSI_THRESHOLD",
+    (unsigned char *)"NTH_BEACON_FILTER",
+    (unsigned char *)"BROADCAST_FRAME_FILTER_ENABLE",
+    (unsigned char *)"SCAN_IN_POWERSAVE",
+    (unsigned char *)"IGNORE_DTIM",
+    (unsigned char *)"WOWLAN_UCAST_PATTERN_FILTER_ENABLE",
+    (unsigned char *)"WOWLAN_CHANNEL_SWITCH_ENABLE",
+    (unsigned char *)"WOWLAN_DEAUTH_ENABLE",
+    (unsigned char *)"WOWLAN_DISASSOC_ENABLE",
+    (unsigned char *)"WOWLAN_MAX_MISSED_BEACON",
+    (unsigned char *)"WOWLAN_MAX_SLEEP_PERIOD",
+    (unsigned char *)"BA_TIMEOUT",
+    (unsigned char *)"BA_THRESHOLD_HIGH",
+    (unsigned char *)"MAX_BA_BUFFERS",
+    (unsigned char *)"MAX_BA_SESSIONS",
+    (unsigned char *)"BA_AUTO_SETUP",
+    (unsigned char *)"ADDBA_REQ_DECLINE",
+    (unsigned char *)"DEL_ALL_RX_BA_SESSIONS_2_4_G_BTC",
+    (unsigned char *)"BG_SCAN_CHANNEL_LIST",
+    (unsigned char *)"MAX_MEDIUM_TIME",
+    (unsigned char *)"MAX_MPDUS_IN_AMPDU",
+    (unsigned char *)"IBSS_AUTO_BSSID",
+    (unsigned char *)"PROBE_REQ_ADDNIE_FLAG",
+    (unsigned char *)"PROBE_REQ_ADDNIE_DATA",
+    (unsigned char *)"PROBE_RSP_ADDNIE_FLAG",
+    (unsigned char *)"PROBE_RSP_ADDNIE_DATA1",
+    (unsigned char *)"PROBE_RSP_ADDNIE_DATA2",
+    (unsigned char *)"PROBE_RSP_ADDNIE_DATA3",
+    (unsigned char *)"ASSOC_RSP_ADDNIE_FLAG",
+    (unsigned char *)"ASSOC_RSP_ADDNIE_DATA",
+    (unsigned char *)"PROBE_REQ_ADDNP2PIE_FLAG",
+    (unsigned char *)"PROBE_REQ_ADDNP2PIE_DATA",
+    (unsigned char *)"PROBE_RSP_BCN_ADDNIE_FLAG",
+    (unsigned char *)"PROBE_RSP_BCN_ADDNIE_DATA",
+    (unsigned char *)"WPS_ENABLE",
+    (unsigned char *)"WPS_STATE",
+    (unsigned char *)"WPS_PROBE_REQ_FLAG",
+    (unsigned char *)"WPS_VERSION",
+    (unsigned char *)"WPS_REQUEST_TYPE",
+    (unsigned char *)"WPS_CFG_METHOD",
+    (unsigned char *)"WPS_UUID",
+    (unsigned char *)"WPS_PRIMARY_DEVICE_CATEGORY",
+    (unsigned char *)"WPS_PIMARY_DEVICE_OUI",
+    (unsigned char *)"WPS_DEVICE_SUB_CATEGORY",
+    (unsigned char *)"WPS_ASSOCIATION_STATE",
+    (unsigned char *)"WPS_CONFIGURATION_ERROR",
+    (unsigned char *)"WPS_DEVICE_PASSWORD_ID",
+    (unsigned char *)"WPS_ASSOC_METHOD",
+    (unsigned char *)"LOW_GAIN_OVERRIDE",
+    (unsigned char *)"ENABLE_PHY_AGC_LISTEN_MODE",
+    (unsigned char *)"RPE_POLLING_THRESHOLD",
+    (unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC0_REG",
+    (unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC1_REG",
+    (unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC2_REG",
+    (unsigned char *)"RPE_AGING_THRESHOLD_FOR_AC3_REG",
+    (unsigned char *)"NO_OF_ONCHIP_REORDER_SESSIONS",
+    (unsigned char *)"SINGLE_TID_RC",
+    (unsigned char *)"RRM_ENABLED",
+    (unsigned char *)"RRM_OPERATING_CHAN_MAX",
+    (unsigned char *)"RRM_NON_OPERATING_CHAN_MAX",
+    (unsigned char *)"TX_PWR_CTRL_ENABLE",
+    (unsigned char *)"MCAST_BCAST_FILTER_SETTING",
+    (unsigned char *)"BTC_DHCP_BT_SLOTS_TO_BLOCK",
+    (unsigned char *)"DYNAMIC_PS_POLL_VALUE",
+    (unsigned char *)"PS_NULLDATA_AP_RESP_TIMEOUT",
+    (unsigned char *)"TELE_BCN_WAKEUP_EN",
+    (unsigned char *)"TELE_BCN_TRANS_LI",
+    (unsigned char *)"TELE_BCN_TRANS_LI_IDLE_BCNS",
+    (unsigned char *)"TELE_BCN_MAX_LI",
+    (unsigned char *)"TELE_BCN_MAX_LI_IDLE_BCNS",
+    (unsigned char *)"BTC_A2DP_DHCP_BT_SUB_INTERVALS",
+    (unsigned char *)"INFRA_STA_KEEP_ALIVE_PERIOD",
+    (unsigned char *)"ASSOC_STA_LIMIT",
+    (unsigned char *)"SAP_CHANNEL_SELECT_START_CHANNEL",
+    (unsigned char *)"SAP_CHANNEL_SELECT_END_CHANNEL",
+    (unsigned char *)"SAP_CHANNEL_SELECT_OPERATING_BAND",
+    (unsigned char *)"AP_DATA_AVAIL_POLL_PERIOD",
+    (unsigned char *)"ENABLE_CLOSE_LOOP",
+    (unsigned char *)"ENABLE_LTE_COEX",
+    (unsigned char *)"AP_KEEP_ALIVE_TIMEOUT",
+    (unsigned char *)"GO_KEEP_ALIVE_TIMEOUT",
+    (unsigned char *)"ENABLE_MC_ADDR_LIST",
+    (unsigned char *)"ENABLE_UC_FILTER",
+    (unsigned char *)"ENABLE_LPWR_IMG_TRANSITION",
+    (unsigned char *)"ENABLE_MCC_ADAPTIVE_SCHED",
+    (unsigned char *)"DISABLE_LDPC_WITH_TXBF_AP",
+    (unsigned char *)"AP_LINK_MONITOR_TIMEOUT",
+    (unsigned char *)"TDLS_QOS_WMM_UAPSD_MASK",
+    (unsigned char *)"TDLS_BUF_STA_ENABLED",
+    (unsigned char *)"TDLS_PUAPSD_INACT_TIME",
+    (unsigned char *)"TDLS_RX_FRAME_THRESHOLD",
+    (unsigned char *)"ENABLE_ADAPT_RX_DRAIN",
 };
 
 
diff --git a/CORE/MAC/src/cfg/cfgUtil/cfg.txt b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
index f66fc89..6fce429 100644
--- a/CORE/MAC/src/cfg/cfgUtil/cfg.txt
+++ b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
@@ -4545,3 +4545,15 @@
 V    RW    NP
 LIM
 10   20    10
+*
+*MCC ENABLE/DISABLE ADAPTIVE RX Drain feature
+*
+*
+*
+WNI_CFG_ENABLE_ADAPT_RX_DRAIN I   4   7
+V    RW    NP
+HAL
+0    1    1
+NV    RW    NP
+HAL
+0    1    1
diff --git a/CORE/WDA/src/wlan_qct_wda.c b/CORE/WDA/src/wlan_qct_wda.c
index 4661890..327b6a8 100644
--- a/CORE/WDA/src/wlan_qct_wda.c
+++ b/CORE/WDA/src/wlan_qct_wda.c
@@ -1534,6 +1534,20 @@
                             + sizeof(tHalCfg) + tlvStruct->length) ;
 #endif
 
+   /* QWLAN_HAL_CFG_ENABLE_ADAPTIVE_RX_DRAIN  */
+   tlvStruct->type = QWLAN_HAL_CFG_ENABLE_ADAPTIVE_RX_DRAIN_FEATURE ;
+   tlvStruct->length = sizeof(tANI_U32);
+   configDataValue = (tANI_U32 *)(tlvStruct + 1);
+   if(wlan_cfgGetInt(pMac, WNI_CFG_ENABLE_ADAPT_RX_DRAIN,
+                                            configDataValue ) != eSIR_SUCCESS)
+   {
+      VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_ERROR,
+               "Failed to get value for WNI_CFG_ENABLE_ADAPT_RX_DRAIN");
+      goto handle_failure;
+   }
+
+   tlvStruct = (tHalCfg *)( (tANI_U8 *) tlvStruct
+                            + sizeof(tHalCfg) + tlvStruct->length) ;
    wdiStartParams->usConfigBufferLen = (tANI_U8 *)tlvStruct - tlvStructStart ;
 #ifdef WLAN_DEBUG
    {
diff --git a/firmware_bin/WCNSS_cfg.dat b/firmware_bin/WCNSS_cfg.dat
index 7cf6029..b6af038 100644
--- a/firmware_bin/WCNSS_cfg.dat
+++ b/firmware_bin/WCNSS_cfg.dat
Binary files differ