From: Chaotian Jing Date: Thu, 19 May 2016 08:47:42 +0000 (+0800) Subject: mmc: mmc: fix switch timeout issue caused by jiffies precision X-Git-Tag: v4.8-rc1~81^2~120 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=987aa5f8059613bf85cbb6f64ffbd34f5cb7a9d1;p=linux-2.6-block.git 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 --- diff --git a/drivers/mmc/core/mmc_ops.c b/drivers/mmc/core/mmc_ops.c index 32de14450ea7..ad6e9798e949 100644 --- a/drivers/mmc/core/mmc_ops.c +++ b/drivers/mmc/core/mmc_ops.c @@ -534,7 +534,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 { /* * Due to the possibility of being preempted after