Vivek, On Monday 31 July 2017 10:58 AM, Vivek Gautam wrote: > Hi Kishon, > > > On Tue, Jun 20, 2017 at 11:27 AM, Vivek Gautam > <vivek.gautam@xxxxxxxxxxxxxx> wrote: >> Fixing the clk enable failure path in qcom_qmp_phy_init() >> and cleanup the reset control deassertion failure path in >> qcom_qmp_phy_com_init(). >> >> Fixes: e78f3d15e115 ("phy: qcom-qmp: new qmp phy driver for qcom-chipsets") >> >> Cc: Kishon Vijay Abraham I <kishon@xxxxxx> >> Signed-off-by: Vivek Gautam <vivek.gautam@xxxxxxxxxxxxxx> > > This patch got missed. Can you please pull this in? merged now, thanks! -Kishon > > regards > Vivek > >> --- >> drivers/phy/qualcomm/phy-qcom-qmp.c | 15 ++++++--------- >> 1 file changed, 6 insertions(+), 9 deletions(-) >> >> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c >> index 78ca62897784..7b739571b301 100644 >> --- a/drivers/phy/qualcomm/phy-qcom-qmp.c >> +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c >> @@ -654,8 +654,6 @@ static int qcom_qmp_phy_com_init(struct qcom_qmp *qmp) >> if (ret) { >> dev_err(qmp->dev, "%s reset deassert failed\n", >> qmp->cfg->reset_list[i]); >> - while (--i >= 0) >> - reset_control_assert(qmp->resets[i]); >> goto err_rst; >> } >> } >> @@ -684,7 +682,7 @@ static int qcom_qmp_phy_com_init(struct qcom_qmp *qmp) >> if (ret) { >> dev_err(qmp->dev, >> "phy common block init timed-out\n"); >> - goto err_com_init; >> + goto err_rst; >> } >> } >> >> @@ -692,11 +690,11 @@ static int qcom_qmp_phy_com_init(struct qcom_qmp *qmp) >> >> return 0; >> >> -err_com_init: >> +err_rst: >> while (--i >= 0) >> reset_control_assert(qmp->resets[i]); >> -err_rst: >> mutex_unlock(&qmp->phy_mutex); >> + >> return ret; >> } >> >> @@ -749,14 +747,13 @@ static int qcom_qmp_phy_init(struct phy *phy) >> if (ret) { >> dev_err(qmp->dev, "failed to enable %s clk, err=%d\n", >> qmp->cfg->clk_list[i], ret); >> - while (--i >= 0) >> - clk_disable_unprepare(qmp->clks[i]); >> + goto err_clk; >> } >> } >> >> ret = qcom_qmp_phy_com_init(qmp); >> if (ret) >> - goto err_com_init; >> + goto err_clk; >> >> if (cfg->has_lane_rst) { >> ret = reset_control_deassert(qphy->lane_rst); >> @@ -804,7 +801,7 @@ static int qcom_qmp_phy_init(struct phy *phy) >> reset_control_assert(qphy->lane_rst); >> err_lane_rst: >> qcom_qmp_phy_com_exit(qmp); >> -err_com_init: >> +err_clk: >> while (--i >= 0) >> clk_disable_unprepare(qmp->clks[i]); >> >> -- >> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, >> a Linux Foundation Collaborative Project >> > > > -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html