diff options
author | Pavan Kunapuli <pkunapuli@nvidia.com> | 2011-03-10 22:55:20 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-04-26 15:53:27 -0700 |
commit | 72cceca7fabaed8871c941e012af73523c47bcf3 (patch) | |
tree | cb5fd7e0d6b752e00fbc5720d5f42aacf6490ab2 /drivers/mmc | |
parent | 288a03b174751d2fe441b36d9bfd6767f1b292c0 (diff) |
mmc:unset bus speed mode variable after reset.
Unsetting bus speed mode variable after reset to
ensure that the uhs mode is set properly.
Original-Change-Id: I098a0df1289acefe01c391da622132a3562382fe
Reviewed-on: http://git-master/r/22423
Reviewed-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Tested-by: Pavan Kunapuli <pkunapuli@nvidia.com>
Reviewed-by: Bitan Biswas <bbiswas@nvidia.com>
Tested-by: Bitan Biswas <bbiswas@nvidia.com>
Reviewed-by: Narendra Damahe <ndamahe@nvidia.com>
Tested-by: Narendra Damahe <ndamahe@nvidia.com>
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Change-Id: I0ffd0ab93b7fb72e2a7ae8d060b264d4f735df03
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/core/mmc.c | 18 | ||||
-rw-r--r-- | drivers/mmc/host/sdhci.c | 1 |
2 files changed, 9 insertions, 10 deletions
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index 6027ab0f0652..366877dc7b80 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -466,16 +466,14 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, goto free_card; } - if (!oldcard) { - /* - * Fetch and process extended CSD. - */ - err = mmc_read_ext_csd(card); - if (err) - goto free_card; - /* Erase size depends on CSD and Extended CSD */ - mmc_set_erase_size(card); - } + /* + * Fetch and process extended CSD. + */ + err = mmc_read_ext_csd(card); + if (err) + goto free_card; + /* Erase size depends on CSD and Extended CSD */ + mmc_set_erase_size(card); /* * Activate high speed (if supported) diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c index 542de652adf0..d235ad596e16 100644 --- a/drivers/mmc/host/sdhci.c +++ b/drivers/mmc/host/sdhci.c @@ -179,6 +179,7 @@ static void sdhci_reset(struct sdhci_host *host, u8 mask) if (mask & SDHCI_RESET_ALL) { host->ops->configure_capabilities(host); host->uhs_mode = 0; + host->mmc->ios.bus_speed_mode = 0; host->mmc->ios.signalling_voltage = MMC_3_3_VOLT_SIGNALLING; } } |