diff --git a/tools/linux/cfg80211_ven_cmd.h b/tools/linux/cfg80211_ven_cmd.h
index 3ae5d9c..91106c7 100644
--- a/tools/linux/cfg80211_ven_cmd.h
+++ b/tools/linux/cfg80211_ven_cmd.h
@@ -1203,6 +1203,14 @@
 	OL_ATH_PARAM_RPT_MAX_PHY = 446,
 	/* Enable additional operating triplets in the Country IE */
 	OL_ATH_PARAM_ENABLE_ADDITIONAL_TRIPLETS = 447,
+#ifdef QCA_SUPPORT_DFS_CHAN_POSTNOL
+	/* Set the primary frequency for the AP to go back to, after NOL */
+	OL_ATH_DFS_CHAN_POSTNOL_FREQ = 448,
+	/* Set the mode for the AP to go back to, after NOL */
+	OL_ATH_DFS_CHAN_POSTNOL_MODE = 449,
+	/* Set the secondary center frequency for the post NOL channel. */
+	OL_ATH_DFS_CHAN_POSTNOL_CFREQ2 = 450,
+#endif
 
 };
 
@@ -3103,6 +3111,20 @@
 		OL_ATH_PARAM_SHIFT | OL_ATH_PARAM_ENABLE_ADDITIONAL_TRIPLETS, SET_PARAM, 1},
 	{"g_enable_additional_triplets",
 		OL_ATH_PARAM_SHIFT | OL_ATH_PARAM_ENABLE_ADDITIONAL_TRIPLETS, GET_PARAM, 0},
+#ifdef QCA_SUPPORT_DFS_CHAN_POSTNOL
+	{"setpostNOLfreq",
+		OL_ATH_PARAM_SHIFT | OL_ATH_DFS_CHAN_POSTNOL_FREQ, SET_PARAM, 1},
+	{"getpostNOLfreq",
+		OL_ATH_PARAM_SHIFT | OL_ATH_DFS_CHAN_POSTNOL_FREQ, GET_PARAM, 0},
+	{"setpostNOLmode",
+		OL_ATH_PARAM_SHIFT | OL_ATH_DFS_CHAN_POSTNOL_MODE, SET_PARAM, 1},
+	{"getpostNOLmode",
+		OL_ATH_PARAM_SHIFT | OL_ATH_DFS_CHAN_POSTNOL_MODE, SET_PARAM, 0},
+	{"setpostNOLcfreq2",
+		OL_ATH_PARAM_SHIFT | OL_ATH_DFS_CHAN_POSTNOL_CFREQ2, SET_PARAM, 1},
+	{"getpostNOLcfreq2",
+		OL_ATH_PARAM_SHIFT | OL_ATH_DFS_CHAN_POSTNOL_CFREQ2, GET_PARAM, 0},
+#endif
 };
 #endif
 #endif
diff --git a/umac/dfs/core/src/misc/dfs_zero_cac.c b/umac/dfs/core/src/misc/dfs_zero_cac.c
index fe84861..cabe5bc 100644
--- a/umac/dfs/core/src/misc/dfs_zero_cac.c
+++ b/umac/dfs/core/src/misc/dfs_zero_cac.c
@@ -273,10 +273,12 @@
 	dfs->dfs_precac_secondary_freq_mhz = 0;
 }
 
+#if defined(ATH_SUPPORT_ZERO_CAC_DFS) && !defined(QCA_MCL_DFS_SUPPORT)
 void dfs_zero_cac_timer_detach(struct dfs_soc_priv_obj *dfs_soc_obj)
 {
 	qdf_timer_free(&dfs_soc_obj->dfs_precac_timer);
 }
+#endif
 
 int dfs_override_precac_timeout(struct wlan_dfs *dfs, int precac_timeout)
 {
@@ -514,6 +516,13 @@
 	bool ret_val = 0;
 	uint16_t cfreq;
 
+	if (!WLAN_IS_CHAN_5GHZ(chan)) {
+		dfs_debug(dfs, WLAN_DEBUG_DFS,
+			  "Channel %d not a 5GHz channel",
+			  chan->dfs_ch_ieee);
+		return 0;
+	}
+
 	if (WLAN_IS_CHAN_MODE_160(chan))
 		cfreq = chan->dfs_ch_mhz_freq_seg2;
 	else if (WLAN_IS_CHAN_MODE_165(dfs, chan))
@@ -1474,6 +1483,7 @@
 	}
 }
 
+#if defined(ATH_SUPPORT_ZERO_CAC_DFS) && !defined(QCA_MCL_DFS_SUPPORT)
 void dfs_zero_cac_timer_init(struct dfs_soc_priv_obj *dfs_soc_obj)
 {
 	dfs_soc_obj->precac_state_started = false;
@@ -1482,6 +1492,7 @@
 		       (void *)dfs_soc_obj,
 		       QDF_TIMER_TYPE_WAKE_APPS);
 }
+#endif
 
 void dfs_zero_cac_attach(struct wlan_dfs *dfs)
 {
@@ -3542,6 +3553,12 @@
 		if (WLAN_IS_CHAN_MODE_165(dfs, dfs->dfs_curchan))
 			flags |= DFS_RANDOM_CH_FLAG_RESTRICTED_80P80_ENABLED;
 
+		if (!WLAN_IS_CHAN_5GHZ(dfs->dfs_curchan)) {
+			dfs_debug(dfs, WLAN_DEBUG_DFS_AGILE,
+				  "Current operating channel not a 5G channel");
+			goto exit;
+		}
+
 		dfs_fill_des_rcac_chan_params(dfs,
 					      &nxt_chan_params,
 					      curchan_chwidth);
