OSDN Git Service

scsi: ufs: full reinit upon resume if link was off
authorAsutosh Das <asutoshd@codeaurora.org>
Tue, 31 Jan 2017 10:25:17 +0000 (15:55 +0530)
committerAsutosh Das <asutoshd@codeaurora.org>
Thu, 16 Feb 2017 10:47:40 +0000 (16:17 +0530)
During suspend, if the link is put to off, it would require
a full initialization during resume.
This patch resets and restores both the hba and the card
during initialization.

Change-Id: I37b36c51ca1b475d8f8dfd2d9b1f098c917c86e4
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
drivers/scsi/ufs/ufshcd.c

index f5d7cd0..c891fc8 100644 (file)
@@ -8603,9 +8603,13 @@ static int ufshcd_resume(struct ufs_hba *hba, enum ufs_pm_op pm_op)
                        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))