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 <zangleigang@xxxxxxxxxxxxx> 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