diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c index cd4fb9431811..b816875057d2 100644 --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c @@ -3362,8 +3362,14 @@ void sdhci_msm_reset(struct sdhci_host *host, u8 mask) struct sdhci_msm_host *msm_host = pltfm_host->priv; /* Set ICE core to be reset in sync with SDHC core */ - if (msm_host->ice.pdev) - writel_relaxed(1, host->ioaddr + CORE_VENDOR_SPEC_ICE_CTRL); + if (msm_host->ice.pdev) { + if (msm_host->ice_hci_support) + writel_relaxed(1, host->ioaddr + + HC_VENDOR_SPECIFIC_ICE_CTRL); + else + writel_relaxed(1, + host->ioaddr + CORE_VENDOR_SPEC_ICE_CTRL); + } sdhci_reset(host, mask); }