From b01db18853773353e01a13b52ab85b49eb062b1d Mon Sep 17 00:00:00 2001 From: Houston Hoffman Date: Mon, 13 Mar 2017 14:38:09 -0700 Subject: [PATCH] qcacmn: simplify error handling in ce_init(1) move ce_id_to_state assignment to the end where ce_init is guaranteed to succeed. Change-Id: I5172eb1136dde2aad915c2497ece94150c95630f CRs-Fixed: 2020794 --- hif/src/ce/ce_main.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/hif/src/ce/ce_main.c b/hif/src/ce/ce_main.c index b1b60b7b6146..e55f8234369f 100644 --- a/hif/src/ce/ce_main.c +++ b/hif/src/ce/ce_main.c @@ -897,7 +897,6 @@ struct CE_handle *ce_init(struct hif_softc *scn, return NULL; } malloc_CE_state = true; - scn->ce_id_to_state[CE_id] = CE_state; qdf_spinlock_create(&CE_state->ce_index_lock); CE_state->id = CE_id; @@ -942,7 +941,6 @@ struct CE_handle *ce_init(struct hif_softc *scn, HIF_ERROR("%s: src ring has no mem", __func__); if (malloc_CE_state) { /* allocated CE_state locally */ - scn->ce_id_to_state[CE_id] = NULL; qdf_mem_free(CE_state); malloc_CE_state = false; } @@ -1011,7 +1009,6 @@ struct CE_handle *ce_init(struct hif_softc *scn, } if (malloc_CE_state) { /* allocated CE_state locally */ - scn->ce_id_to_state[CE_id] = NULL; qdf_mem_free(CE_state); malloc_CE_state = false; } @@ -1094,6 +1091,7 @@ struct CE_handle *ce_init(struct hif_softc *scn, /* update the htt_data attribute */ ce_mark_datapath(CE_state); + scn->ce_id_to_state[CE_id] = CE_state; return (struct CE_handle *)CE_state;