From 281d369bca47daea76285f6534e5ceb922c114e1 Mon Sep 17 00:00:00 2001 From: Naveen Yadav Date: Fri, 5 Jun 2020 18:08:00 +0530 Subject: [PATCH] interconnect: qcom: Add check to return status of clk_bulk_prepare_enable Since clk_bulk_prepare_enable function is defined with __must_check option, add check to return status of clk_bulk_prepare_enable in qcom_icc_set function. Change-Id: I69fed5bdda38edfa89af3d899333d6e6f9f939f9 Signed-off-by: Naveen Yadav --- drivers/interconnect/qcom/icc-rpmh.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/interconnect/qcom/icc-rpmh.c b/drivers/interconnect/qcom/icc-rpmh.c index b165590dcef3..196195502a65 100644 --- a/drivers/interconnect/qcom/icc-rpmh.c +++ b/drivers/interconnect/qcom/icc-rpmh.c @@ -84,7 +84,7 @@ int qcom_icc_set(struct icc_node *src, struct icc_node *dst) struct qcom_icc_provider *qp; struct qcom_icc_node *qn; struct icc_node *node; - int i; + int i, ret = 0; if (!src) node = dst; @@ -100,13 +100,19 @@ int qcom_icc_set(struct icc_node *src, struct icc_node *dst) /* Defer setting QoS until the first non-zero bandwidth request. */ if (qn && qn->qosbox && !qn->qosbox->initialized && (node->avg_bw || node->peak_bw)) { - clk_bulk_prepare_enable(qp->num_clks, qp->clks); + ret = clk_bulk_prepare_enable(qp->num_clks, qp->clks); + if (ret) { + pr_err("%s: Clock enable failed for node %s\n", + __func__, node->name); + return ret; + } + qn->noc_ops->set_qos(qn); clk_bulk_disable_unprepare(qp->num_clks, qp->clks); qn->qosbox->initialized = true; } - return 0; + return ret; } EXPORT_SYMBOL(qcom_icc_set);