summaryrefslogtreecommitdiff
path: root/drivers/scsi/ufs/ufs-qcom-ice.c
diff options
context:
space:
mode:
authorMaya Erez <merez@codeaurora.org>2014-12-12 20:45:08 +0200
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 10:58:24 -0700
commit1fd1c6a6970c8d44a0e29463e9a8d378ec9bea84 (patch)
treefb02e68b8152bde82347a624b90955a7bd02eadc /drivers/scsi/ufs/ufs-qcom-ice.c
parent8a03efed539ba899f8a6d54b901800609e4613ab (diff)
scsi: ufs: perform ice_init as part of UFS initialization
ice_init may need UFS clocks to be enabled in order to allow enabling ICE as part of its initialization. To allow that, ice_init should be done as part of UFS initialization sequence. In such a case ice_reset is no longer needed to be called as part of UFS initialization and should be moved to host reset scenarios. Change-Id: Iaa851083a9f73045c7ca02d69dd65b3a00b85bff Signed-off-by: Maya Erez <merez@codeaurora.org>
Diffstat (limited to 'drivers/scsi/ufs/ufs-qcom-ice.c')
-rw-r--r--drivers/scsi/ufs/ufs-qcom-ice.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/ufs/ufs-qcom-ice.c b/drivers/scsi/ufs/ufs-qcom-ice.c
index 2ade16d5ef1f..09ccd7cf145a 100644
--- a/drivers/scsi/ufs/ufs-qcom-ice.c
+++ b/drivers/scsi/ufs/ufs-qcom-ice.c
@@ -362,6 +362,13 @@ int ufs_qcom_ice_reset(struct ufs_qcom_host *qcom_host)
err = -ETIMEDOUT;
}
+ if (qcom_host->ice.state != UFS_QCOM_ICE_STATE_ACTIVE) {
+ dev_err(qcom_host->hba->dev,
+ "%s: error. ice.state (%d) is not in active state\n",
+ __func__, qcom_host->ice.state);
+ err = -EINVAL;
+ }
+
out:
return err;
}