summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2009-04-09 10:32:02 +0400
committerPierre Ossman <pierre@ossman.eu>2009-06-14 00:42:57 +0400
commit8dfd0374be84793360db7fff2e635d2cd3bbcb21 (patch)
tree877fb5d94f27cb6bbfa4244f21906c5fb66d753f /drivers
parentae628903ab6cc9a04fdf8d4ff3f0c5b2ffa6f939 (diff)
downloadlinux-8dfd0374be84793360db7fff2e635d2cd3bbcb21.tar.xz
MMC core: limit minimum initialization frequency to 400kHz
Some controllers allow a much lower frequency than 400kHz. Keep the minimum frequency within sensible limits. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mmc/core/core.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index 23fb2c39d9ed..d84c880fac84 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -708,7 +708,13 @@ static void mmc_power_up(struct mmc_host *host)
*/
mmc_delay(10);
- host->ios.clock = host->f_min;
+ if (host->f_min > 400000) {
+ pr_warning("%s: Minimum clock frequency too high for "
+ "identification mode\n", mmc_hostname(host));
+ host->ios.clock = host->f_min;
+ } else
+ host->ios.clock = 400000;
+
host->ios.power_mode = MMC_POWER_ON;
mmc_set_ios(host);