diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index 8290952..6e69baf 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -2004,6 +2004,11 @@
 #define CFG_ASD_RTT_RSSI_HYST_THRESHOLD_MIN              (0)
 #define CFG_ASD_RTT_RSSI_HYST_THRESHOLD_MAX              (100)
 
+//Enable debug for remain on channel issues
+#define CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_NAME    "gDebugP2pRemainOnChannel"
+#define CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_DEFAULT ( 0 )
+#define CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MIN     ( 0 )
+#define CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MAX     ( 1 )
 
 /*--------------------------------------------------------------------------- 
   Type declarations
@@ -2422,6 +2427,7 @@
    v_U32_t                     gAsdProbeInterval;
    v_U32_t                     gAsdTriggerThreshold;
    v_U32_t                     gAsdRTTRssiHystThreshold;
+   v_BOOL_t                    debugP2pRemainOnChannel;
 } 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 93e4049..0e621cb 100644
--- a/CORE/HDD/src/wlan_hdd_cfg.c
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
@@ -2856,6 +2856,13 @@
                  CFG_ASD_RTT_RSSI_HYST_THRESHOLD_DEFAULT,
                  CFG_ASD_RTT_RSSI_HYST_THRESHOLD_MIN,
                  CFG_ASD_RTT_RSSI_HYST_THRESHOLD_MAX),
+
+   REG_VARIABLE( CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_NAME, WLAN_PARAM_Integer,
+                 hdd_config_t, debugP2pRemainOnChannel,
+                 VAR_FLAGS_OPTIONAL,
+                 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_DEFAULT,
+                 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MIN,
+                 CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_MAX ),
 };
 
 
@@ -4480,6 +4487,40 @@
        fStatus = FALSE;
        hddLog(LOGE, "Could not pass on WNI_BTC_ACTIVE_BT_LEN to CCM");
    }
+
+   if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_PROBE_INTERVAL,
+                    pConfig->gAsdProbeInterval, NULL,
+                    eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
+   {
+      fStatus = FALSE;
+      hddLog(LOGE, "Could not pass on WNI_CFG_ASD_PROBE_INTERVAL to CCM");
+   }
+
+   if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_TRIGGER_THRESHOLD,
+                    pConfig->gAsdTriggerThreshold, NULL,
+                    eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
+   {
+      fStatus = FALSE;
+      hddLog(LOGE, "Could not pass on WNI_CFG_ASD_TRIGGER_THRESHOLD to CCM");
+   }
+
+   if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASD_RTT_RSSI_HYST_THRESHOLD,
+                    pConfig->gAsdRTTRssiHystThreshold, NULL,
+                    eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
+   {
+      fStatus = FALSE;
+      hddLog(LOGE, "Could not pass on WNI_CFG_ASD_RSSI_HYST_THRESHOLD to CCM");
+   }
+
+   if (ccmCfgSetInt(pHddCtx->hHal,
+                    WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL,
+                    pConfig->debugP2pRemainOnChannel,
+                    NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
+   {
+       fStatus = FALSE;
+       hddLog(LOGE,
+              "Could not pass on WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL to CCM");
+   }
    return fStatus;
 }
 
diff --git a/CORE/MAC/inc/wniCfgAp.h b/CORE/MAC/inc/wniCfgAp.h
index fad5ada..5612755 100644
--- a/CORE/MAC/inc/wniCfgAp.h
+++ b/CORE/MAC/inc/wniCfgAp.h
@@ -369,10 +369,11 @@
 #define WNI_CFG_BTC_ACTIVE_BT_LEN    308
 #define WNI_CFG_BTC_SAP_ACTIVE_WLAN_LEN    309
 #define WNI_CFG_BTC_SAP_ACTIVE_BT_LEN    310
-#define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL    311
-#define WNI_CFG_RMC_ACTION_PERIOD_FREQUENCY    312
-#define WNI_CFG_ASD_PROBE_INTERVAL    313
-#define WNI_CFG_ASD_TRIGGER_THRESHOLD    314
+#define WNI_CFG_RMC_ACTION_PERIOD_FREQUENCY    311
+#define WNI_CFG_ASD_PROBE_INTERVAL    312
+#define WNI_CFG_ASD_TRIGGER_THRESHOLD    313
+#define WNI_CFG_ASD_RTT_RSSI_HYST_THRESHOLD    314
+#define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL    315
 
 /*
  * String parameter lengths 
@@ -2644,10 +2645,18 @@
 #define WNI_CFG_ASD_RTT_RSSI_HYST_THRESHOLD_APMAX    100
 #define WNI_CFG_ASD_RTT_RSSI_HYST_THRESHOLD_APDEF    0
 
-#define CFG_PARAM_MAX_NUM         315
-#define CFG_AP_IBUF_MAX_SIZE      254
+#define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_STAMIN    0
+#define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_STAMAX    1
+#define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_STADEF    0
+
+#define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_APMIN    0
+#define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_APMAX    1
+#define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_APDEF    0
+
+#define CFG_PARAM_MAX_NUM         316
+#define CFG_AP_IBUF_MAX_SIZE      255
 #define CFG_AP_SBUF_MAX_SIZE      3422
-#define CFG_STA_IBUF_MAX_SIZE     249
+#define CFG_STA_IBUF_MAX_SIZE     250
 #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 8865914..570725c 100644
--- a/CORE/MAC/inc/wniCfgSta.h
+++ b/CORE/MAC/inc/wniCfgSta.h
@@ -363,10 +363,11 @@
 #define WNI_CFG_BTC_ACTIVE_BT_LEN    308
 #define WNI_CFG_BTC_SAP_ACTIVE_WLAN_LEN    309
 #define WNI_CFG_BTC_SAP_ACTIVE_BT_LEN    310
-#define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL    311
-#define WNI_CFG_RMC_ACTION_PERIOD_FREQUENCY    312
-#define WNI_CFG_ASD_PROBE_INTERVAL    313
-#define WNI_CFG_ASD_TRIGGER_THRESHOLD    314
+#define WNI_CFG_RMC_ACTION_PERIOD_FREQUENCY    311
+#define WNI_CFG_ASD_PROBE_INTERVAL    312
+#define WNI_CFG_ASD_TRIGGER_THRESHOLD    313
+#define WNI_CFG_ASD_RTT_RSSI_HYST_THRESHOLD    314
+#define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL    315
 
 /*
  * String parameter lengths 
@@ -1709,8 +1710,12 @@
 #define WNI_CFG_ASD_RTT_RSSI_HYST_THRESHOLD_STAMAX    100
 #define WNI_CFG_ASD_RTT_RSSI_HYST_THRESHOLD_STADEF    0
 
-#define CFG_PARAM_MAX_NUM        315
-#define CFG_STA_IBUF_MAX_SIZE    249
+#define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_STAMIN    0
+#define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_STAMAX    1
+#define WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL_STADEF    0
+
+#define CFG_PARAM_MAX_NUM        316
+#define CFG_STA_IBUF_MAX_SIZE    250
 #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 41310b0..90601de 100644
--- a/CORE/MAC/src/cfg/cfgParamName.c
+++ b/CORE/MAC/src/cfg/cfgParamName.c
@@ -344,6 +344,7 @@
     (unsigned char *)"ASD_PROBE_INTERVAL",
     (unsigned char *)"ASD_TRIGGER_THRESHOLD",
     (unsigned char *)"ASD_RTT_RSSI_HYST_THRESHOLD",
+    (unsigned char *)"DEBUG_P2P_REMAIN_ON_CHANNEL",
 };
 
 
diff --git a/CORE/MAC/src/cfg/cfgUtil/cfg.txt b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
index a3f2eb0..631f0ac 100644
--- a/CORE/MAC/src/cfg/cfgUtil/cfg.txt
+++ b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
@@ -4697,3 +4697,15 @@
 0    100    0
 *
 *
+
+* Debug p2p remain on channel
+*
+WNI_CFG_DEBUG_P2P_REMAIN_ON_CHANNEL    I    4    7
+V    RW    NP
+NONE
+0    1    0
+V    RW    NP
+NONE
+0    1    0
+*
+*
diff --git a/firmware_bin/WCNSS_cfg.dat b/firmware_bin/WCNSS_cfg.dat
index 5685e79..764a7e0 100644
--- a/firmware_bin/WCNSS_cfg.dat
+++ b/firmware_bin/WCNSS_cfg.dat
Binary files differ
