2020-04-15 10:25:22

by Can Guo

[permalink] [raw]
Subject: [PATCH v2 1/1] scsi: ufs: full reinit upon resume if link was off

From: Asutosh Das <[email protected]>

During suspend, if the link is put to off, it would require
a full initialization during resume. This patch resets and
restores both the host and the card during initialization,
otherwise, host only reset and restore may fail occasionally.

Signed-off-by: Asutosh Das <[email protected]>
Signed-off-by: Can Guo <[email protected]>
Reviewed-by: Bean Huo <[email protected]>
Reviewed-by: Alim Akhtar <[email protected]>
Acked-by: Stanley Chu <[email protected]>

Change since v1:
- Incorporated Alim's comments.

---
drivers/scsi/ufs/ufshcd.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 64e42ef..90313c8 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -8048,9 +8048,13 @@ static int ufshcd_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
else
goto vendor_suspend;
} else if (ufshcd_is_link_off(hba)) {
- ret = ufshcd_host_reset_and_restore(hba);
/*
- * ufshcd_host_reset_and_restore() should have already
+ * A full initialization of the host and the device is
+ * required since the link was put to off during suspend.
+ */
+ ret = ufshcd_reset_and_restore(hba);
+ /*
+ * ufshcd_reset_and_restore() should have already
* set the link state as active
*/
if (ret || !ufshcd_is_link_active(hba))
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project.


2020-04-17 21:31:31

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH v2 1/1] scsi: ufs: full reinit upon resume if link was off


Can,

> During suspend, if the link is put to off, it would require a full
> initialization during resume. This patch resets and restores both the
> host and the card during initialization, otherwise, host only reset
> and restore may fail occasionally.

Applied to 5.8/scsi-queue, thanks!

> Signed-off-by: Asutosh Das <[email protected]>
> Signed-off-by: Can Guo <[email protected]>
> Reviewed-by: Bean Huo <[email protected]>
> Reviewed-by: Alim Akhtar <[email protected]>
> Acked-by: Stanley Chu <[email protected]>
>
> Change since v1:
> - Incorporated Alim's comments.
>
> ---
> drivers/scsi/ufs/ufshcd.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)

Don't forget to put the changelog after the "---" separator.

--
Martin K. Petersen Oracle Linux Engineering