summaryrefslogtreecommitdiff
path: root/include/linux/start_kernel.h
diff options
context:
space:
mode:
authorSubhash Jadavani <subhashj@codeaurora.org>2014-12-03 18:05:18 +0200
committerSubhash Jadavani <subhashj@codeaurora.org>2016-05-31 15:25:18 -0700
commit71743a7317a54481627df515c8b3344583457a39 (patch)
treef582cc75d9ed501dd4e821024e84e61c103165a9 /include/linux/start_kernel.h
parent69ba619f8c95011100fb827027f97e167d5a788d (diff)
mmc: sd: fix the issue with paranoid SD card init retry
mmc_resume_host() is called during resume (runtime or system) which calls 1. mmc_power_up 2. mmc_select_voltage 3. host->bus_ops->resume() (mmc_sd_resume()) mmc_sd_resume() ultimately calls mmc_sd_init_card() to initialize the SD card. But let's say if mmc_sd_init_card() fails during the execute_tuning(). At this point, host controller timing is changed to SDR104/SDR50 mode and host clock will also be > 100 MHz. If there is an error returned by mmc_sd_init_card() and if CONFIG_MMC_PARANOID_SD_INIT defined, it retries by calling mmc_sd_init_card() without making sure that host controller timing and clock be initialized again. This may cause the further mmc_sd_init_card() also to fail. To fix this, mmc_sd_resume() should call mmc_power_up() and mmc_select_voltage() before retrying. Change-Id: I8de39ea547fa0d5eca478719a4cf9255b6652503 [merez@codeaurora.org: changes already present in core.h and core.c] Signed-off-by: Maya Erez <merez@codeaurora.org> [venkatg@codeaurora.org: Fix args for mmc_power_up and mmc_select_voltage as used in 3.14 kernel] Signed-off-by: Venkat Gopalakrishnan <venkatg@codeaurora.org> [subhashj@codeaurora.org: fixed merge conflicts] Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org>
Diffstat (limited to 'include/linux/start_kernel.h')
0 files changed, 0 insertions, 0 deletions