During PISI test, we found the issue that host Tx still bursting after H/W reset. Move ufs_qcom_host_reset() to ufs_qcom_device_reset() and reset host before device reset to stop tx burst. Signed-off-by: Ziqi Chen <quic_ziqichen@xxxxxxxxxxx> --- drivers/ufs/host/ufs-qcom.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c index 96cb8b5..43163d3 100644 --- a/drivers/ufs/host/ufs-qcom.c +++ b/drivers/ufs/host/ufs-qcom.c @@ -445,12 +445,6 @@ static int ufs_qcom_power_up_sequence(struct ufs_hba *hba) struct phy *phy = host->generic_phy; int ret; - /* Reset UFS Host Controller and PHY */ - ret = ufs_qcom_host_reset(hba); - if (ret) - dev_warn(hba->dev, "%s: host reset returned %d\n", - __func__, ret); - /* phy initialization - calibrate the phy */ ret = phy_init(phy); if (ret) { @@ -1709,6 +1703,13 @@ static void ufs_qcom_dump_dbg_regs(struct ufs_hba *hba) static int ufs_qcom_device_reset(struct ufs_hba *hba) { struct ufs_qcom_host *host = ufshcd_get_variant(hba); + int ret = 0; + + /* Reset UFS Host Controller and PHY */ + ret = ufs_qcom_host_reset(hba); + if (ret) + dev_warn(hba->dev, "%s: host reset returned %d\n", + __func__, ret); /* reset gpio is optional */ if (!host->device_reset) -- 2.7.4