scsi: ufs-msm: Fix hba variant host op init and setup_clocks

Handle the case where vops->setup_clocks is called before vops->init()
from ufshcd driver.

Change-Id: I4754b658c1f37db6418560321f5dfe7a4650692b
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
This commit is contained in:
Sahitya Tummala 2013-12-18 13:49:27 +05:30 committed by David Keitel
parent c6aef9984d
commit b55d16cd6b

View file

@ -1788,6 +1788,14 @@ static int msm_ufs_setup_clocks(struct ufs_hba *hba, bool on)
int err;
int vote;
/*
* In case msm_ufs_init() is not yet done, simply ignore.
* This msm_ufs_setup_clocks() shall be called from
* msm_ufs_init() after init is done.
*/
if (!host)
return 0;
if (on) {
vote = host->bus_vote.saved_vote;
if (vote == host->bus_vote.min_bw_vote)
@ -1946,6 +1954,7 @@ static int msm_ufs_init(struct ufs_hba *hba)
hba->spm_lvl = UFS_PM_LVL_3;
}
msm_ufs_setup_clocks(hba, true);
goto out;
out_disable_phy: