diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c index 9b30ce9562b9..4d5fb14fafa2 100644 --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c @@ -1495,9 +1495,6 @@ static int sdhci_msm_execute_tuning(struct mmc_host *mmc, u32 opcode) const struct sdhci_msm_offset *msm_offset = sdhci_priv_msm_offset(host); - core_vendor_spec = readl_relaxed(host->ioaddr + - msm_offset->core_vendor_spec); - if (!sdhci_msm_is_tuning_needed(host)) { msm_host->use_cdr = false; sdhci_msm_set_cdr(host, false); @@ -1524,6 +1521,9 @@ static int sdhci_msm_execute_tuning(struct mmc_host *mmc, u32 opcode) host->flags &= ~SDHCI_HS400_TUNING; } + core_vendor_spec = readl_relaxed(host->ioaddr + + msm_offset->core_vendor_spec); + /* Make sure that PWRSAVE bit is set to '0' during tuning */ writel_relaxed((core_vendor_spec & ~CORE_CLK_PWRSAVE), host->ioaddr +