All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <andersson@kernel.org>
To: Yang Yingliang <yangyingliang@huawei.com>
Cc: linux-i2c@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	agross@kernel.org, konrad.dybcio@linaro.org,
	neil.armstrong@linaro.org, wsa@kernel.org
Subject: Re: [PATCH] i2c: qcom-geni: fix missing clk_disable_unprepare()
Date: Wed, 28 Dec 2022 21:42:47 -0600	[thread overview]
Message-ID: <20221229034247.5wyn57g2yssjzk6n@builder.lan> (raw)
In-Reply-To: <20221228093209.3164540-1-yangyingliang@huawei.com>

On Wed, Dec 28, 2022 at 05:32:09PM +0800, Yang Yingliang wrote:
> Add missing clk_disable_unprepare() in the error path in geni_i2c_probe().
> 
> Fixes: 14d02fbadb5d ("i2c: qcom-geni: add desc struct to prepare support for I2C Master Hub variant")
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>

Nice.

> ---
>  drivers/i2c/busses/i2c-qcom-geni.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c
> index fd70794bfcee..f292e4dab98f 100644
> --- a/drivers/i2c/busses/i2c-qcom-geni.c
> +++ b/drivers/i2c/busses/i2c-qcom-geni.c
> @@ -859,6 +859,7 @@ static int geni_i2c_probe(struct platform_device *pdev)
>  	ret = geni_se_resources_on(&gi2c->se);
>  	if (ret) {
>  		dev_err(dev, "Error turning on resources %d\n", ret);
> +		clk_disable_unprepare(gi2c->core_clk);
>  		return ret;
>  	}
>  	proto = geni_se_read_proto(&gi2c->se);
> @@ -878,8 +879,10 @@ static int geni_i2c_probe(struct platform_device *pdev)
>  		/* FIFO is disabled, so we can only use GPI DMA */
>  		gi2c->gpi_mode = true;
>  		ret = setup_gpi_dma(gi2c);
> -		if (ret)
> +		if (ret) {
> +			clk_disable_unprepare(gi2c->core_clk);

If I'm not mistaken, we need a geni_se_resources_off() here as well.

>  			return dev_err_probe(dev, ret, "Failed to setup GPI DMA mode\n");
> +		}
>  
>  		dev_dbg(dev, "Using GPI DMA mode for I2C\n");
>  	} else {
> @@ -892,6 +895,7 @@ static int geni_i2c_probe(struct platform_device *pdev)
>  
>  		if (!tx_depth) {
>  			dev_err(dev, "Invalid TX FIFO depth\n");

Same here.

Regards,
Bjorn

> +			clk_disable_unprepare(gi2c->core_clk);
>  			return -EINVAL;
>  		}
>  
> -- 
> 2.25.1
> 

      reply	other threads:[~2022-12-29  3:42 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-28  9:32 [PATCH] i2c: qcom-geni: fix missing clk_disable_unprepare() Yang Yingliang
2022-12-29  3:42 ` Bjorn Andersson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221229034247.5wyn57g2yssjzk6n@builder.lan \
    --to=andersson@kernel.org \
    --cc=agross@kernel.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=neil.armstrong@linaro.org \
    --cc=wsa@kernel.org \
    --cc=yangyingliang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.