diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c
index 1aef4c3..39e7905 100644
--- a/core/hdd/src/wlan_hdd_assoc.c
+++ b/core/hdd/src/wlan_hdd_assoc.c
@@ -1434,10 +1434,10 @@
 		 */
 	}
 
-	qdf_status = cdp_peer_clear(cds_get_context(QDF_MODULE_ID_SOC),
+	qdf_status = cdp_clear_peer(cds_get_context(QDF_MODULE_ID_SOC),
 			cds_get_context(QDF_MODULE_ID_TXRX), staId);
 	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
-		hdd_err("cdp_peer_clear() failed for staID %d. Status(%d) [0x%08X]",
+		hdd_err("cdp_clear_peer() failed for staID %d. Status(%d) [0x%08X]",
 			staId, qdf_status, qdf_status);
 	}
 	return qdf_status;
@@ -3563,10 +3563,10 @@
 					      uint8_t staId)
 {
 	QDF_STATUS qdf_status;
-	qdf_status = cdp_peer_clear(cds_get_context(QDF_MODULE_ID_SOC),
+	qdf_status = cdp_clear_peer(cds_get_context(QDF_MODULE_ID_SOC),
 				cds_get_context(QDF_MODULE_ID_TXRX), staId);
 	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
-		hdd_warn("cdp_peer_clear() failed for staID %d. Status=%d [0x%08X]",
+		hdd_warn("cdp_clear_peer() failed for staID %d. Status=%d [0x%08X]",
 			staId, qdf_status, qdf_status);
 	}
 	return qdf_status;
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index fecc73f..8ce2c22 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -3751,7 +3751,7 @@
 			hdd_wait_for_sme_close_sesion(hdd_ctx, adapter);
 		break;
 	case QDF_OCB_MODE:
-		cdp_peer_clear(cds_get_context(QDF_MODULE_ID_SOC),
+		cdp_clear_peer(cds_get_context(QDF_MODULE_ID_SOC),
 			cds_get_context(QDF_MODULE_ID_TXRX),
 			WLAN_HDD_GET_STATION_CTX_PTR(adapter)->conn_info.staId[0]);
 		break;
diff --git a/core/hdd/src/wlan_hdd_softap_tx_rx.c b/core/hdd/src/wlan_hdd_softap_tx_rx.c
index cc4953d..33691c6 100644
--- a/core/hdd/src/wlan_hdd_softap_tx_rx.c
+++ b/core/hdd/src/wlan_hdd_softap_tx_rx.c
@@ -726,10 +726,10 @@
 	 * structures. This helps to block RX frames from other
 	 * station to this station.
 	 */
-	qdf_status = cdp_peer_clear(cds_get_context(QDF_MODULE_ID_SOC),
+	qdf_status = cdp_clear_peer(cds_get_context(QDF_MODULE_ID_SOC),
 			cds_get_context(QDF_MODULE_ID_TXRX), staId);
 	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
-		hdd_err("cdp_peer_clear failed for staID %d, Status=%d [0x%08X]",
+		hdd_err("cdp_clear_peer failed for staID %d, Status=%d [0x%08X]",
 			staId, qdf_status, qdf_status);
 	}
 
