diff options
-rw-r--r-- | drivers/mmc/core/core.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index d84c880fac84..e22d2b5576ec 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c | |||
@@ -687,7 +687,13 @@ void mmc_set_timing(struct mmc_host *host, unsigned int timing) | |||
687 | */ | 687 | */ |
688 | static void mmc_power_up(struct mmc_host *host) | 688 | static void mmc_power_up(struct mmc_host *host) |
689 | { | 689 | { |
690 | int bit = fls(host->ocr_avail) - 1; | 690 | int bit; |
691 | |||
692 | /* If ocr is set, we use it */ | ||
693 | if (host->ocr) | ||
694 | bit = ffs(host->ocr) - 1; | ||
695 | else | ||
696 | bit = fls(host->ocr_avail) - 1; | ||
691 | 697 | ||
692 | host->ios.vdd = bit; | 698 | host->ios.vdd = bit; |
693 | if (mmc_host_is_spi(host)) { | 699 | if (mmc_host_is_spi(host)) { |