From f46bf01fc1e7addbf351a9fd889cc420d4d89bdf Mon Sep 17 00:00:00 2001 From: Jaehoon Chung Date: Thu, 12 May 2011 17:18:59 +0900 Subject: mmc: core: duplicated trial with same freq in mmc_rescan_try_freq() mmc_rescan_try_freq() tries to init two times with the last frequency. For example, if host->f_min is 400KHz, we see the message below: mmc1: mmc_rescan_try_freq: trying to init card at 400000 Hz mmc1: mmc_rescan_try_freq: trying to init card at 400000 Hz Andy Ross says that he didn't try this code on a board with an f_min that exactly matches one of the table entries, which explains why the bug wasn't detected. Change-Id: I57eb076aefb073421260de348364d290117198e1 Signed-off-by: Jaehoon Chung Signed-off-by: Kyungmin Park Cc: Andy Ross Signed-off-by: Chris Ball Signed-off-by: Ulf Hansson Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/23443 Reviewed-by: Sebastian RASMUSSEN Reviewed-by: Daniel WILLERUD Reviewed-by: Joakim AXELSSON Reviewed-by: Jonas ABERG --- drivers/mmc/core/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'drivers/mmc') diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 1f453acc868..69cda159113 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -1578,7 +1578,7 @@ void mmc_rescan(struct work_struct *work) for (i = 0; i < ARRAY_SIZE(freqs); i++) { if (!mmc_rescan_try_freq(host, max(freqs[i], host->f_min))) break; - if (freqs[i] < host->f_min) + if (freqs[i] <= host->f_min) break; } mmc_release_host(host); -- cgit v1.2.3