On 2017-06-24 04:44, Zang Leigang wrote:
Some device can successfully link and switch to HS mode. But failed
to do more. ufshcd_verify_dev_init can help to find this earlier.

Signed-off-by: Zang Leigang <zangleig...@hisilicon.com>

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index ffe8d8608818..eb03388fc4bd 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -6373,6 +6373,14 @@ static int ufshcd_probe_hba(struct ufs_hba *hba)
                                        __func__, ret);
                        goto out;
                }
+
+               /*
+                * Some device lost link after switch to HS mode. Check if
+                * connect is established here.
+                */

I have never across such failures. If this issue is limited to certain device vendors then I don't think if we want to do send NOP unconditionally for all the devices. We should probably add quirk for these failed devices and send NOP only for such devices.


+               ret = ufshcd_verify_dev_init(hba);
+               if (ret)
+                       goto out;
        }

        /* set the state as operational after switching to desired gear */

--
The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

Reply via email to