From a4739036740b1670cc3ab5d8f076944acb585262 Mon Sep 17 00:00:00 2001 From: Deepak Katragadda Date: Thu, 14 Sep 2017 11:21:18 -0700 Subject: [PATCH] clk: qcom: clk-aop-qmp: Do not send duplicate requests to AOP Currently, duplicate enable requests are sent for the qdss_qmp_clk during its registration. This is not ideal behavior and should be corrected. Change-Id: I1d66ad83fe9c109a88df527ef3fae5fc60e855e7 Signed-off-by: Deepak Katragadda --- drivers/clk/qcom/clk-aop-qmp.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/clk/qcom/clk-aop-qmp.c b/drivers/clk/qcom/clk-aop-qmp.c index f813f460d44c..b6c3dadadcdc 100644 --- a/drivers/clk/qcom/clk-aop-qmp.c +++ b/drivers/clk/qcom/clk-aop-qmp.c @@ -129,6 +129,12 @@ static int clk_aop_qmp_prepare(struct clk_hw *hw) struct clk_aop_qmp *clk = to_aop_qmp_clk(hw); mutex_lock(&clk_aop_lock); + /* + * Return early if the clock has been enabled already. This + * is to avoid issues with sending duplicate enable requests. + */ + if (clk->enabled) + goto err; if (clk->level) rate = clk->level; @@ -167,6 +173,9 @@ static void clk_aop_qmp_unprepare(struct clk_hw *hw) mutex_lock(&clk_aop_lock); + if (!clk->enabled) + goto err; + rate = clk->disable_state; snprintf(mbox_msg, MAX_LEN, "{class: %s, res: %s, val: %ld}",