From 801b83998317f54e2233e24ff063ec57a3085bd4 Mon Sep 17 00:00:00 2001 From: Chaotian Jing Date: Thu, 19 May 2016 16:47:42 +0800 Subject: mmc: mmc: fix switch timeout issue caused by jiffies precision with CONFIG_HZ=100, the precision of jiffies is 10ms, and the generic_cmd6_time of some card is also 10ms. then, may be current time is only 5ms, but already timed out caused by jiffies precision. Signed-off-by: Chaotian Jing Signed-off-by: Ulf Hansson (cherry picked from commit 8bcce64faaaf07165453e6600ae9ffb887e79b1a) Signed-off-by: Haibo Chen (cherry picked from commit 38f639884a2cfd65cbe29ac2fbfe4ab3fcb1f1af) --- drivers/mmc/core/mmc_ops.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c index 72f6785e7014..cd5280f686d7 100644 --- a/drivers/mmc/core/mmc_ops.c +++ b/drivers/mmc/core/mmc_ops.c @@ -549,7 +549,7 @@ int __mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value, timeout_ms = MMC_OPS_TIMEOUT_MS; /* Must check status to be sure of no errors. */ - timeout = jiffies + msecs_to_jiffies(timeout_ms); + timeout = jiffies + msecs_to_jiffies(timeout_ms) + 1; do { if (send_status) { /* -- cgit v1.2.3