Re: [EXT] [PATCH v1 1/6] scsi: ufs: Add device reset in link recovery path

cang
2019-11-04T00:59:15Z

On 2019-11-04 05:48, Bean Huo (beanhuo) wrote:
> Hi, Can Guo
>
>> In order to recover from hibern8 exit failure, perform a reset in link
>> recovery
>> path before issuing link start-up.
>>
>> Signed-off-by: Can Guo <cang@codeaurora.org>
>> ---
>> drivers/scsi/ufs/ufshcd.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
>> index
>> c28c144..525f8e6 100644
>> --- a/drivers/scsi/ufs/ufshcd.c
>> +++ b/drivers/scsi/ufs/ufshcd.c
>> @@ -3859,6 +3859,9 @@ static int ufshcd_link_recovery(struct ufs_hba
>> *hba)
>> ufshcd_set_eh_in_progress(hba);
>> spin_unlock_irqrestore(hba->host->host_lock, flags);
>>
>> + /* Reset the attached device */
>> + ufshcd_vops_device_reset(hba);
>> +
>> ret = ufshcd_host_reset_and_restore(hba);
>>
> There is time consumption in reset, It is true that reset can
> hide/solve some issues.
> I don't know if you experienced issue resulting from an absent reset
> in this case mentioned in
> Patch commit comment.
>

Hi Bean,

Yes, we did see some issues without this device reset here. For example,
link start-up failure and/or NOP-IN timeout during probe stage.

Best regards,
Can Guo.

>> spin_lock_irqsave(hba->host->host_lock, flags);
>> --
>> The Qualcomm Innovation Center, Inc. is a member of the Code Aurora
>> Forum,
>> a Linux Foundation Collaborative Project