mmc: core: make erase timeout calculation allow for gated clock
authorAdrian Hunter <adrian.hunter@intel.com>
Thu, 23 Jun 2011 10:40:27 +0000 (13:40 +0300)
committerChris Ball <cjb@laptop.org>
Sat, 25 Jun 2011 22:52:53 +0000 (18:52 -0400)
The erase timeout calculation may depend on clock rate
which is zero if the clock is gated, so use
mmc_host_clk_rate() which allows for that case.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/core.c

index 68091dd..7843efe 100644 (file)
@@ -1245,7 +1245,7 @@ static unsigned int mmc_mmc_erase_timeout(struct mmc_card *card,
                 */
                timeout_clks <<= 1;
                timeout_us += (timeout_clks * 1000) /
                 */
                timeout_clks <<= 1;
                timeout_us += (timeout_clks * 1000) /
-                             (card->host->ios.clock / 1000);
+                             (mmc_host_clk_rate(card->host) / 1000);
 
                erase_timeout = timeout_us / 1000;
 
 
                erase_timeout = timeout_us / 1000;