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? 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 > -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html