summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormbao <mbao@codeaurora.org>2021-06-10 16:49:08 -0700
committermbao <mbao@codeaurora.org>2021-06-14 18:50:26 -0700
commit93ac16226c6ad27ce421cc883975e97cdf866efe (patch)
tree8365b7b58354d69a2574d9e3e1df6a1858fa6d54
parent21bc3dcd43aac099d60fc55f1d09afccb8d98d04 (diff)
downloadmmrm-93ac16226c6ad27ce421cc883975e97cdf866efe.tar.gz
mmrm: Fixed deregister issue
For error cases, updating only client register related entries. Change-Id: I78703f15f7436aa28d280a2b753655681a4f13eb Signed-off-by: mbao <mbao@codeaurora.org>
-rw-r--r--driver/src/mmrm_clk_rsrc_mgr_sw.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/driver/src/mmrm_clk_rsrc_mgr_sw.c b/driver/src/mmrm_clk_rsrc_mgr_sw.c
index fc3628c..a30f888 100644
--- a/driver/src/mmrm_clk_rsrc_mgr_sw.c
+++ b/driver/src/mmrm_clk_rsrc_mgr_sw.c
@@ -250,7 +250,6 @@ static struct mmrm_client *mmrm_sw_clk_client_register(
exit_found:
mutex_unlock(&sw_clk_mgr->lock);
-
d_mpr_h("%s: exiting with success\n", __func__);
return clk_client;
@@ -258,8 +257,11 @@ err_fail_update_entry:
kfree(clk_client);
err_fail_alloc_clk_client:
- memset(tbl_entry, 0x0, sizeof(struct mmrm_sw_clk_client_tbl_entry));
-
+ tbl_entry->client = NULL;
+ tbl_entry->clk = NULL;
+ tbl_entry->pri = 0x0;
+ tbl_entry->pvt_data = NULL;
+ tbl_entry->notifier_cb_fn = NULL;
err_nofree_entry:
err_already_registered:
mutex_unlock(&sw_clk_mgr->lock);
@@ -302,7 +304,11 @@ static int mmrm_sw_clk_client_deregister(struct mmrm_clk_mgr *sw_clk_mgr,
kfree(tbl_entry->client);
- memset(tbl_entry, 0x0, sizeof(struct mmrm_sw_clk_client_tbl_entry));
+ tbl_entry->client = NULL;
+ tbl_entry->clk = NULL;
+ tbl_entry->pri = 0x0;
+ tbl_entry->pvt_data = NULL;
+ tbl_entry->notifier_cb_fn = NULL;
}
mutex_unlock(&sw_clk_mgr->lock);