summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSujit Reddy Thumma <sthumma@codeaurora.org>2011-11-01 20:05:07 +0530
committerSubhash Jadavani <subhashj@codeaurora.org>2016-05-31 15:20:55 -0700
commiteb645aebffa8e1c12c56ff1d3e659391c38b6b16 (patch)
treec6febb5bcc48705aef64f092fdc921904f2f9685
parentd0cd16e2aea4a574f527c4351230d299fcd42b32 (diff)
mmc: core: Use usleep_range for delays less than 20ms
msleep of any delay less than 20ms (or 2 jiffies) would give an unpredictable delay (most of the times as ~20ms). Use usleep_range in mmc_delay() for delays less than two jiffies. Change-Id: I7cf22532af2b4048afccf07a5aeba89d808799f0 Signed-off-by: Sujit Reddy Thumma <sthumma@codeaurora.org>
-rw-r--r--drivers/mmc/core/core.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mmc/core/core.h b/drivers/mmc/core/core.h
index c5cb975dbcbb..d57daacbfcca 100644
--- a/drivers/mmc/core/core.h
+++ b/drivers/mmc/core/core.h
@@ -63,6 +63,8 @@ static inline void mmc_delay(unsigned int ms)
if (ms < 1000 / HZ) {
cond_resched();
mdelay(ms);
+ } else if (ms < jiffies_to_msecs(2)) {
+ usleep_range(ms * 1000, (ms + 1) * 1000);
} else {
msleep(ms);
}