From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754223AbcESIs0 (ORCPT ); Thu, 19 May 2016 04:48:26 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:47560 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1753981AbcESIsX (ORCPT ); Thu, 19 May 2016 04:48:23 -0400 From: Chaotian Jing To: Ulf Hansson CC: Matthias Brugger , Adrian Hunter , Chaotian Jing , Wolfram Sang , Kuninori Morimoto , Masahiro Yamada , , , , , , Sascha Hauer Subject: [PATCH 3/3] mmc: mmc: fix switch timeout issue caused by jiffies precision Date: Thu, 19 May 2016 16:47:42 +0800 Message-ID: <1463647662-27426-4-git-send-email-chaotian.jing@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty In-Reply-To: <1463647662-27426-1-git-send-email-chaotian.jing@mediatek.com> References: <1463647662-27426-1-git-send-email-chaotian.jing@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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 32de144..ad6e979 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 -- 1.8.1.1.dirty