diff --git a/hif/src/ce/ce_api.h b/hif/src/ce/ce_api.h
index 13c812b..58f0ddc 100644
--- a/hif/src/ce/ce_api.h
+++ b/hif/src/ce/ce_api.h
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2018 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2019 The Linux Foundation. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -298,20 +298,6 @@
 unsigned int ce_send_entries_avail(struct CE_handle *copyeng);
 unsigned int ce_recv_entries_avail(struct CE_handle *copyeng);
 
-/*
- * Return the number of entries in the ring that are ready
- * to be processed by software.
- *
- * For source ring, the number of descriptors that have
- * been completed and can now be overwritten with new send
- * descriptors.
- *
- * For destination ring, the number of descriptors that
- * are available to be processed (newly received buffers).
- */
-unsigned int ce_send_entries_done(struct CE_handle *copyeng);
-unsigned int ce_recv_entries_done(struct CE_handle *copyeng);
-
 /* recv flags */
 /* Data is byte-swapped */
 #define CE_RECV_FLAG_SWAPPED            1
diff --git a/hif/src/ce/ce_service.c b/hif/src/ce/ce_service.c
index 56a6c4f..eef48cc 100644
--- a/hif/src/ce/ce_service.c
+++ b/hif/src/ce/ce_service.c
@@ -723,44 +723,6 @@
 }
 
 /*
- * Guts of ce_send_entries_done.
- * The caller takes responsibility for any necessary locking.
- */
-unsigned int ce_send_entries_done(struct CE_handle *copyeng)
-{
-	struct CE_state *CE_state = (struct CE_state *)copyeng;
-	unsigned int nentries;
-	struct hif_softc *scn = CE_state->scn;
-	struct HIF_CE_state *hif_state = HIF_GET_CE_STATE(scn);
-
-	qdf_spin_lock(&CE_state->ce_index_lock);
-	nentries = hif_state->ce_services->ce_send_entries_done_nolock(
-						CE_state->scn, CE_state);
-	qdf_spin_unlock(&CE_state->ce_index_lock);
-
-	return nentries;
-}
-
-/*
- * Guts of ce_recv_entries_done.
- * The caller takes responsibility for any necessary locking.
- */
-unsigned int ce_recv_entries_done(struct CE_handle *copyeng)
-{
-	struct CE_state *CE_state = (struct CE_state *)copyeng;
-	unsigned int nentries;
-	struct hif_softc *scn = CE_state->scn;
-	struct HIF_CE_state *hif_state = HIF_GET_CE_STATE(scn);
-
-	qdf_spin_lock(&CE_state->ce_index_lock);
-	nentries = hif_state->ce_services->ce_recv_entries_done_nolock(
-						CE_state->scn, CE_state);
-	qdf_spin_unlock(&CE_state->ce_index_lock);
-
-	return nentries;
-}
-
-/*
  * Guts of ce_completed_recv_next.
  * The caller takes responsibility for any necessary locking.
  */
diff --git a/hif/src/ce/ce_service_srng.c b/hif/src/ce/ce_service_srng.c
index 56175a3..d3f5790 100644
--- a/hif/src/ce/ce_service_srng.c
+++ b/hif/src/ce/ce_service_srng.c
@@ -328,7 +328,7 @@
 
 	count = hal_srng_src_done_val(scn->hal_soc, src_ring->srng_ctx);
 
-	hal_srng_access_end(scn->hal_soc, src_ring->srng_ctx);
+	hal_srng_access_end_reap(scn->hal_soc, src_ring->srng_ctx);
 
 	return count;
 }
