summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/core
diff options
context:
space:
mode:
authorPhilip Rakity <prakity@marvell.com>2011-02-13 23:12:28 -0800
committerChris Ball <cjb@laptop.org>2011-03-16 12:30:11 -0400
commit2f94e55ae5ddad83e661002985d2ea11b6d51d3d (patch)
treed472771c86e6b65f89b40c22e6ac980535f28183 /drivers/mmc/core
parent41babf753cc82ab6208903625a084bf305c32d06 (diff)
downloadlinux-stable-2f94e55ae5ddad83e661002985d2ea11b6d51d3d.tar.gz
linux-stable-2f94e55ae5ddad83e661002985d2ea11b6d51d3d.tar.bz2
linux-stable-2f94e55ae5ddad83e661002985d2ea11b6d51d3d.zip
mmc: core: comment on why sdio_reset is done at init time
sdio_reset sends a CMD52 to reset the sdio card. This is highly recommended for sdio cards being reinitialized. Since we do not know if the card is being reinitialized we just send the command. SD/eMMC cards are supposed to ignore the CMD before the CMD0. Document why we are doing this. Signed-off-by: Philip Rakity <prakity@marvell.com> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc/core')
-rw-r--r--drivers/mmc/core/core.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index 2af2ee1a2265..c47e13b79eee 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -1494,6 +1494,12 @@ static int mmc_rescan_try_freq(struct mmc_host *host, unsigned freq)
mmc_hostname(host), __func__, host->f_init);
#endif
mmc_power_up(host);
+
+ /*
+ * sdio_reset sends CMD52 to reset card. Since we do not know
+ * if the card is being re-initialized, just send it. CMD52
+ * should be ignored by SD/eMMC cards.
+ */
sdio_reset(host);
mmc_go_idle(host);