diff --git a/drivers/mmc/host/sdhci-msm.c b/drivers/mmc/host/sdhci-msm.c index 03ad1a6c2e17..8a7af65cf45c 100644 --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c @@ -2151,7 +2151,8 @@ static void sdhci_msm_handle_pwr_irq(struct sdhci_host *host, int irq) io_level = REQ_IO_HIGH; } if (irq_status & CORE_PWRCTL_BUS_OFF) { - if (msm_host->pltfm_init_done) + if (!(host->mmc->caps & MMC_CAP_NONREMOVABLE) || + msm_host->pltfm_init_done) ret = sdhci_msm_setup_vreg(msm_host, false, false); if (!ret)