From 1fd1c6a6970c8d44a0e29463e9a8d378ec9bea84 Mon Sep 17 00:00:00 2001 From: Maya Erez Date: Fri, 12 Dec 2014 20:45:08 +0200 Subject: 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 --- drivers/scsi/ufs/ufs-qcom-ice.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'drivers/scsi/ufs/ufs-qcom-ice.c') 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; } -- cgit v1.2.3