diff --git a/Kbuild b/Kbuild
index ee5dbf1..df7524d 100644
--- a/Kbuild
+++ b/Kbuild
@@ -540,6 +540,9 @@
 	CONFIG_FEATURE_UNIT_TEST_SUSPEND := y
 endif
 
+#Flag to enable hdd memory dump feature
+CONFIG_FEATURE_HDD_MEMDUMP_ENABLE := y
+
 #Flag to enable/disable WLAN D0-WOW
 ifeq ($(CONFIG_PCI_MSM), y)
 ifeq ($(CONFIG_HIF_PCI), y)
@@ -590,7 +593,6 @@
 		$(HDD_SRC_DIR)/wlan_hdd_hostapd.o \
 		$(HDD_SRC_DIR)/wlan_hdd_ioctl.o \
 		$(HDD_SRC_DIR)/wlan_hdd_main.o \
-		$(HDD_SRC_DIR)/wlan_hdd_memdump.o \
 		$(HDD_SRC_DIR)/wlan_hdd_object_manager.o \
 		$(HDD_SRC_DIR)/wlan_hdd_oemdata.o \
 		$(HDD_SRC_DIR)/wlan_hdd_p2p.o \
@@ -618,6 +620,10 @@
 HDD_OBJS+=	$(HDD_SRC_DIR)/wlan_hdd_ocb.o
 endif
 
+ifeq ($(CONFIG_FEATURE_HDD_MEMDUMP_ENABLE), y)
+HDD_OBJS+=	$(HDD_SRC_DIR)/wlan_hdd_memdump.o
+endif
+
 ifeq ($(CONFIG_WLAN_FEATURE_FIPS), y)
 HDD_OBJS+=	$(HDD_SRC_DIR)/wlan_hdd_fips.o
 endif
@@ -2022,6 +2028,7 @@
 cppflags-$(CONFIG_WLAN_LOGGING_SOCK_SVC) += -DWLAN_LOGGING_SOCK_SVC_ENABLE
 cppflags-$(CONFIG_WLAN_FEATURE_FILS) += -DWLAN_FEATURE_FILS_SK
 cppflags-$(CONFIG_CP_STATS) += -DQCA_SUPPORT_CP_STATS
+cppflags-$(CONFIG_FEATURE_HDD_MEMDUMP_ENABLE) += -DWLAN_FEATURE_HDD_MEMDUMP_ENABLE
 
 ifeq ($(CONFIG_CNSS), y)
 ifeq ($(CONFIG_CNSS_SDIO), y)
diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h
index 17488e4..7206955 100644
--- a/core/hdd/inc/wlan_hdd_main.h
+++ b/core/hdd/inc/wlan_hdd_main.h
@@ -3151,9 +3151,18 @@
  */
 void hdd_component_psoc_disable(struct wlan_objmgr_psoc *psoc);
 
+#ifdef WLAN_FEATURE_HDD_MEMDUMP_ENABLE
 int hdd_driver_memdump_init(void);
 void hdd_driver_memdump_deinit(void);
-
+#else /* WLAN_FEATURE_HDD_MEMDUMP_ENABLE */
+static inline int hdd_driver_memdump_init(void)
+{
+	return 0;
+}
+static inline void hdd_driver_memdump_deinit(void)
+{
+}
+#endif /* WLAN_FEATURE_HDD_MEMDUMP_ENABLE */
 /**
  * hdd_is_cli_iface_up() - check if there is any cli iface up
  * @hdd_ctx: HDD context
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index 1bb4f57..1cd1f08 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -10483,6 +10483,7 @@
 }
 
 
+#ifdef WLAN_FEATURE_HDD_MEMDUMP_ENABLE
 /**
  * hdd_state_info_dump() - prints state information of hdd layer
  * @buf: buffer pointer
@@ -10548,6 +10549,11 @@
 {
 	qdf_register_debug_callback(QDF_MODULE_ID_HDD, &hdd_state_info_dump);
 }
+#else /* WLAN_FEATURE_HDD_MEMDUMP_ENABLE */
+static void hdd_register_debug_callback(void)
+{
+}
+#endif /* WLAN_FEATURE_HDD_MEMDUMP_ENABLE */
 
 /*
  * wlan_init_bug_report_lock() - Initialize bug report lock
diff --git a/core/mac/src/pe/lim/lim_api.c b/core/mac/src/pe/lim/lim_api.c
index d59c9de..1262dfa 100644
--- a/core/mac/src/pe/lim/lim_api.c
+++ b/core/mac/src/pe/lim/lim_api.c
@@ -682,6 +682,7 @@
 	ucfg_scan_unregister_requester(pMac->psoc, pMac->lim.req_id);
 } /*** end lim_cleanup() ***/
 
+#ifdef WLAN_FEATURE_HDD_MEMDUMP_ENABLE
 /**
  * lim_state_info_dump() - print state information of lim layer
  * @buf: buffer pointer
@@ -736,7 +737,11 @@
 {
 	qdf_register_debug_callback(QDF_MODULE_ID_PE, &lim_state_info_dump);
 }
-
+#else /* WLAN_FEATURE_HDD_MEMDUMP_ENABLE */
+static void lim_register_debug_callback(void)
+{
+}
+#endif /* WLAN_FEATURE_HDD_MEMDUMP_ENABLE */
 static void lim_nan_register_callbacks(tpAniSirGlobal mac_ctx)
 {
 	struct nan_callbacks cb_obj = {0};
diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c
index cc0dfa0..2bf204b 100644
--- a/core/sme/src/common/sme_api.c
+++ b/core/sme/src/common/sme_api.c
@@ -588,6 +588,7 @@
 	return status;
 }
 
+#ifdef WLAN_FEATURE_HDD_MEMDUMP_ENABLE
 /**
  * sme_get_sessionid_from_activelist() - gets session id
  * @mac: mac context
@@ -683,7 +684,11 @@
 {
 	qdf_register_debug_callback(QDF_MODULE_ID_SME, &sme_state_info_dump);
 }
-
+#else /* WLAN_FEATURE_HDD_MEMDUMP_ENABLE */
+static void sme_register_debug_callback(void)
+{
+}
+#endif /* WLAN_FEATURE_HDD_MEMDUMP_ENABLE */
 
 /* Global APIs */
 
diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c
index 8340e5a..c02d370 100644
--- a/core/wma/src/wma_main.c
+++ b/core/wma/src/wma_main.c
@@ -2056,6 +2056,7 @@
 
 struct wma_version_info g_wmi_version_info;
 
+#ifdef WLAN_FEATURE_HDD_MEMDUMP_ENABLE
 /**
  * wma_state_info_dump() - prints state information of wma layer
  * @buf: buffer pointer
@@ -2282,7 +2283,11 @@
 {
 	qdf_register_debug_callback(QDF_MODULE_ID_WMA, &wma_state_info_dump);
 }
-
+#else /* WLAN_FEATURE_HDD_MEMDUMP_ENABLE */
+static void wma_register_debug_callback(void)
+{
+}
+#endif /* WLAN_FEATURE_HDD_MEMDUMP_ENABLE */
 /**
  * wma_register_tx_ops_handler() - register tx_ops of southbound
  * @tx_ops:  tx_ops pointer in southbound
