In ufs_qcom_power_up_sequence(), check return value of phy_set_mode_ext() and stop proceeding if phy_set_mode_ext() fails. Signed-off-by: Can Guo <quic_cang@xxxxxxxxxxx> --- drivers/ufs/host/ufs-qcom.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c index 30f4ca6..9c0ebbc 100644 --- a/drivers/ufs/host/ufs-qcom.c +++ b/drivers/ufs/host/ufs-qcom.c @@ -475,7 +475,12 @@ static int ufs_qcom_power_up_sequence(struct ufs_hba *hba) return ret; } - phy_set_mode_ext(phy, mode, host->phy_gear); + ret = phy_set_mode_ext(phy, mode, host->phy_gear); + if (ret) { + dev_err(hba->dev, "%s: phy set mode failed, ret = %d\n", + __func__, ret); + goto out_disable_phy; + } /* power on phy - start serdes and phy's power and clocks */ ret = phy_power_on(phy); -- 2.7.4