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

Bean Huo (beanhuo)
2019-11-03T21:48:29Z

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.

> 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