From: Jaehoon Chung Date: Thu, 12 May 2011 08:18:59 +0000 (+0900) Subject: mmc: core: duplicated trial with same freq in mmc_rescan_try_freq() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=06b2233a20bf25c8ee57b7c6e13f528309ac6edc;p=linux-beck.git 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. Signed-off-by: Jaehoon Chung Signed-off-by: Kyungmin Park Cc: Andy Ross Signed-off-by: Chris Ball --- diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 7863eedf3d9a..68091dda3f31 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -1608,7 +1608,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);