diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index db4b3c4bacd77f8630b706112959e7834966e4b5..0fdd3748398aa4a2ae2470a46364b37dd4b6ffe1 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -86,7 +86,7 @@ static int adsp_start(struct rproc *rproc) ret = clk_prepare_enable(adsp->xo); if (ret) - return ret; + goto disable_irqs; ret = clk_prepare_enable(adsp->aggre2_clk); if (ret) @@ -124,6 +124,8 @@ static int adsp_start(struct rproc *rproc) clk_disable_unprepare(adsp->aggre2_clk); disable_xo_clk: clk_disable_unprepare(adsp->xo); +disable_irqs: + qcom_q6v5_unprepare(&adsp->q6v5); return ret; }