diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index 5defe22..40b5c07 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -503,6 +503,10 @@
 #define CFG_GO_KEEP_ALIVE_PERIOD_MAX           ( 255)
 #define CFG_GO_KEEP_ALIVE_PERIOD_DEFAULT       ( 20 )
 
+#define CFG_AP_LINK_MONITOR_PERIOD_NAME          "gApLinkMonitorPeriod"
+#define CFG_AP_LINK_MONITOR_PERIOD_MIN           ( 0 )
+#define CFG_AP_LINK_MONITOR_PERIOD_MAX           ( 255)
+#define CFG_AP_LINK_MONITOR_PERIOD_DEFAULT       ( 3 )
 
 #define CFG_BEACON_INTERVAL_NAME               "gBeaconInterval"
 #define CFG_BEACON_INTERVAL_MIN                WNI_CFG_BEACON_INTERVAL_STAMIN
@@ -1751,6 +1755,7 @@
    v_U8_t        enableLTECoex;
    v_U32_t       apKeepAlivePeriod;
    v_U32_t       goKeepAlivePeriod;
+   v_U32_t       apLinkMonitorPeriod;
    v_U32_t       nBeaconInterval;
    v_U8_t        nTxPowerCap;   //In dBm
    v_BOOL_t      fIsLowGainOverride;
diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c
index a3d74fd..0ff1f61 100644
--- a/CORE/HDD/src/wlan_hdd_cfg.c
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
@@ -644,6 +644,13 @@
                  CFG_GO_KEEP_ALIVE_PERIOD_MIN,
                  CFG_GO_KEEP_ALIVE_PERIOD_MAX),
 
+   REG_VARIABLE( CFG_AP_LINK_MONITOR_PERIOD_NAME, WLAN_PARAM_Integer,
+                 hdd_config_t, apLinkMonitorPeriod,
+                 VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
+                 CFG_AP_LINK_MONITOR_PERIOD_DEFAULT,
+                 CFG_AP_LINK_MONITOR_PERIOD_MIN,
+                 CFG_AP_LINK_MONITOR_PERIOD_MAX),
+
    REG_VARIABLE(CFG_DISABLE_PACKET_FILTER , WLAN_PARAM_Integer,
                  hdd_config_t, disablePacketFilter,
                  VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
@@ -3241,6 +3248,13 @@
         hddLog(LOGE, "Could not pass on WNI_CFG_GO_KEEP_ALIVE_TIMEOUT to CCM\n");
      }
 
+     if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_AP_LINK_MONITOR_TIMEOUT, pConfig->apLinkMonitorPeriod,
+        NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
+     {
+        fStatus = FALSE;
+        hddLog(LOGE, "Could not pass on WNI_CFG_AP_LINK_MONITOR_TIMEOUT to CCM\n");
+     }
+
 #if defined WLAN_FEATURE_VOWIFI
     if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_RRM_ENABLED, pConfig->fRrmEnable,
                      NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
diff --git a/CORE/MAC/inc/wniCfgAp.h b/CORE/MAC/inc/wniCfgAp.h
index b71c2b7..96187e2 100644
--- a/CORE/MAC/inc/wniCfgAp.h
+++ b/CORE/MAC/inc/wniCfgAp.h
@@ -358,6 +358,7 @@
 #define WNI_CFG_ENABLE_LPWR_IMG_TRANSITION    293
 #define WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED    294
 #define WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP    295
+#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT    296
 
 /*
  * String parameter lengths 
@@ -2468,10 +2469,18 @@
 #define WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP_APMAX    1
 #define WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP_APDEF    0
 
-#define CFG_PARAM_MAX_NUM         296
-#define CFG_AP_IBUF_MAX_SIZE      235
+#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT_STAMIN    1
+#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT_STAMAX    255
+#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT_STADEF    3
+
+#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT_APMIN    1
+#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT_APMAX    255
+#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT_APDEF    3
+
+#define CFG_PARAM_MAX_NUM         297
+#define CFG_AP_IBUF_MAX_SIZE      236
 #define CFG_AP_SBUF_MAX_SIZE      3422
-#define CFG_STA_IBUF_MAX_SIZE     230
+#define CFG_STA_IBUF_MAX_SIZE     231
 #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 42b4991..571d559 100644
--- a/CORE/MAC/inc/wniCfgSta.h
+++ b/CORE/MAC/inc/wniCfgSta.h
@@ -352,6 +352,7 @@
 #define WNI_CFG_ENABLE_LPWR_IMG_TRANSITION    293
 #define WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED    294
 #define WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP    295
+#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT    296
 
 /*
  * String parameter lengths 
@@ -1605,8 +1606,12 @@
 #define WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP_STAMAX    1
 #define WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP_STADEF    0
 
-#define CFG_PARAM_MAX_NUM        296
-#define CFG_STA_IBUF_MAX_SIZE    230
+#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT_STAMIN    1
+#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT_STAMAX    255
+#define WNI_CFG_AP_LINK_MONITOR_TIMEOUT_STADEF    3
+
+#define CFG_PARAM_MAX_NUM        297
+#define CFG_STA_IBUF_MAX_SIZE    231
 #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 c903a3b..c0db1a0 100644
--- a/CORE/MAC/src/cfg/cfgParamName.c
+++ b/CORE/MAC/src/cfg/cfgParamName.c
@@ -349,6 +349,7 @@
     (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",
 };
 
 
diff --git a/CORE/MAC/src/cfg/cfgUtil/cfg.txt b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
index afd7828..463bdd0 100644
--- a/CORE/MAC/src/cfg/cfgUtil/cfg.txt
+++ b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
@@ -4474,3 +4474,14 @@
 V    RW    NP
 NONE
 0    1     0
+
+*
+* AP Link Monitor Timeout (TU)
+*
+WNI_CFG_AP_LINK_MONITOR_TIMEOUT    I    4    7
+V    RW    NP
+HAL
+1    255    3
+V    RW    NP
+HAL
+1    255    3
diff --git a/CORE/WDA/src/wlan_qct_wda.c b/CORE/WDA/src/wlan_qct_wda.c
index d991e77..249d78b 100644
--- a/CORE/WDA/src/wlan_qct_wda.c
+++ b/CORE/WDA/src/wlan_qct_wda.c
@@ -1456,6 +1456,21 @@
    tlvStruct = (tHalCfg *)( (tANI_U8 *) tlvStruct 
                             + sizeof(tHalCfg) + tlvStruct->length) ;
 
+/* QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT   */
+   tlvStruct->type = QWLAN_HAL_CFG_AP_LINK_MONITOR_TIMEOUT  ;
+   tlvStruct->length = sizeof(tANI_U32);
+   configDataValue = (tANI_U32 *)(tlvStruct + 1);
+   if(wlan_cfgGetInt(pMac, WNI_CFG_AP_LINK_MONITOR_TIMEOUT,
+                                            configDataValue ) != eSIR_SUCCESS)
+   {
+      VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_ERROR,
+               "Failed to get value for WNI_CFG_AP_LINK_MONITOR_TIMEOUT");
+      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 4308e99..297b3cd 100644
--- a/firmware_bin/WCNSS_cfg.dat
+++ b/firmware_bin/WCNSS_cfg.dat
Binary files differ
diff --git a/firmware_bin/WCNSS_qcom_cfg.ini b/firmware_bin/WCNSS_qcom_cfg.ini
index 91efbbd..29540be 100644
--- a/firmware_bin/WCNSS_qcom_cfg.ini
+++ b/firmware_bin/WCNSS_qcom_cfg.ini
@@ -301,6 +301,13 @@
 
 #gStaKeepAlivePeriod = 30
 
+#AP LINK MONITOR TIMEOUT is used for both SAP and GO mode.
+#It is used to change the frequency of keep alive packets in the AP Link Monitor period which is by
+#default 20s. Currently the keep alive packets are sent as an interval of 3s but after this change
+#the keep alive packet frequency can be changed.
+
+#gApLinkMonitorPeriod = 3
+
 
 #If set will start with active scan after driver load, otherwise will start with
 
