diff options
author | Michal Miroslaw <mirq-linux@rere.qmqm.pl> | 2010-12-02 23:38:12 +0100 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2011-01-09 04:48:37 +0100 |
commit | e6f29a8dc1602e170daf955233891a9130573a55 (patch) | |
tree | e63c6bae4b61e4251c5f3f25605192b9720d4bc7 /drivers/mmc | |
parent | mmc: sdio: don't reinitialize nonremovable powered-resumed cards (diff) | |
download | linux-e6f29a8dc1602e170daf955233891a9130573a55.tar.xz linux-e6f29a8dc1602e170daf955233891a9130573a55.zip |
mmc: fix detection of memory part of SD-combo card with broken SDIO
In case of failure, mmc_attach_sdio() will power off the SD bus.
Power it up and reinitialize before trying SD memory detection.
Reported-by: Sahitya Tummala <stummala@codeaurora.org>
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Reviewed-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/core/core.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 241ffb28351c..97e0624eb9b6 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -1569,6 +1569,11 @@ void mmc_rescan(struct work_struct *work) * Try SDMEM (but not MMC) even if SDIO * is broken. */ + mmc_power_up(host); + sdio_reset(host); + mmc_go_idle(host); + mmc_send_if_cond(host, host->ocr_avail); + if (mmc_send_app_op_cond(host, 0, &ocr)) goto out_fail; |