qcacmn: Fix race while stopping the ce poll timer

Set the timer_inited flag to false bit earlier to
stop ce_poll_timeout function from processing

CRs-Fixed: 2182979

Change-Id: I91dd257c6beb21e379a4c51e651d835a35ca76ed
diff --git a/hif/src/ce/ce_main.c b/hif/src/ce/ce_main.c
index 483ddf1..713bb8c 100644
--- a/hif/src/ce/ce_main.c
+++ b/hif/src/ce/ce_main.c
@@ -1461,9 +1461,11 @@
 	struct hif_softc *scn = CE_state->scn;
 	uint32_t desc_size;
 
+	bool inited = CE_state->timer_inited;
 	CE_state->state = CE_UNUSED;
 	scn->ce_id_to_state[CE_id] = NULL;
-
+	/* Set the flag to false first to stop processing in ce_poll_timeout */
+	CE_state->timer_inited = false;
 	qdf_lro_deinit(CE_state->lro_data);
 
 	if (CE_state->src_ring) {
@@ -1503,8 +1505,7 @@
 		qdf_mem_free(CE_state->dest_ring);
 
 		/* epping */
-		if (CE_state->timer_inited) {
-			CE_state->timer_inited = false;
+		if (inited) {
 			qdf_timer_free(&CE_state->poll_timer);
 		}
 	}