Commit c3966ced authored by Dongliang Mu's avatar Dongliang Mu Committed by Vinod Koul
Browse files

phy: qualcomm: call clk_disable_unprepare in the error handling



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: 0b56e9a7 ("phy: Group vendor specific phy drivers")
Signed-off-by: default avatarDongliang Mu <mudongliangabcd@gmail.com>
Reviewed-by: default avatarNeil Armstrong <neil.armstrong@linaro.org>
Link: https://lore.kernel.org/r/20220914051334.69282-1-dzm91@hust.edu.cn


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 7706630c
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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)