[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5a10b8b7-3881-2f31-5a79-ddef9798184d@linaro.org>
Date: Tue, 20 Sep 2022 15:30:28 +0200
From: Neil Armstrong <neil.armstrong@...aro.org>
To: Dongliang Mu <dzm91@...t.edu.cn>, Andy Gross <agross@...nel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Konrad Dybcio <konrad.dybcio@...ainline.org>,
Kishon Vijay Abraham I <kishon@...com>,
Vinod Koul <vkoul@...nel.org>,
Heiko Stuebner <heiko@...ech.de>,
Vivek Gautam <vivek.gautam@...eaurora.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Jaehoon Chung <jh80.chung@...sung.com>
Cc: Dongliang Mu <mudongliangabcd@...il.com>,
Viresh Kumar <viresh.kumar@...aro.org>,
linux-arm-msm@...r.kernel.org, linux-phy@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] phy: qualcomm: call clk_disable_unprepare in the error
handling
On 14/09/2022 07:13, Dongliang Mu wrote:
> From: Dongliang Mu <mudongliangabcd@...il.com>
>
> Smatch reports the following error:
>
> drivers/phy/qualcomm/phy-qcom-usb-hsic.c:82 qcom_usb_hsic_phy_power_on()
> warn: 'uphy->cal_clk' from clk_prepare_enable() not released on lines:
> 58.
> drivers/phy/qualcomm/phy-qcom-usb-hsic.c:82 qcom_usb_hsic_phy_power_on()
> warn: 'uphy->cal_sleep_clk' from clk_prepare_enable() not released on
> lines: 58.
> drivers/phy/qualcomm/phy-qcom-usb-hsic.c:82 qcom_usb_hsic_phy_power_on()
> warn: 'uphy->phy_clk' from clk_prepare_enable() not released on lines:
> 58.
>
> Fix this by calling proper clk_disable_unprepare calls.
>
> Fixes: 0b56e9a7e835 ("phy: Group vendor specific phy drivers")
> Signed-off-by: Dongliang Mu <mudongliangabcd@...il.com>
> ---
> drivers/phy/qualcomm/phy-qcom-usb-hsic.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/phy/qualcomm/phy-qcom-usb-hsic.c b/drivers/phy/qualcomm/phy-qcom-usb-hsic.c
> index 716a77748ed8..20f6dd37c7c1 100644
> --- a/drivers/phy/qualcomm/phy-qcom-usb-hsic.c
> +++ b/drivers/phy/qualcomm/phy-qcom-usb-hsic.c
> @@ -54,8 +54,10 @@ static int qcom_usb_hsic_phy_power_on(struct phy *phy)
>
> /* Configure pins for HSIC functionality */
> pins_default = pinctrl_lookup_state(uphy->pctl, PINCTRL_STATE_DEFAULT);
> - if (IS_ERR(pins_default))
> - return PTR_ERR(pins_default);
> + if (IS_ERR(pins_default)) {
> + ret = PTR_ERR(pins_default);
> + goto err_ulpi;
> + }
>
> ret = pinctrl_select_state(uphy->pctl, pins_default);
> if (ret)
Reviewed-by: Neil Armstrong <neil.armstrong@...aro.org>
Powered by blists - more mailing lists