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

From: cang
Date: Sun Nov 03 2019 - 19:59:19 EST


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@xxxxxxxxxxxxxx>
---
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