diff options
author | Jaehoon Chung <jh80.chung@samsung.com> | 2011-05-12 04:18:59 -0400 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2011-05-24 23:53:59 -0400 |
commit | 06b2233a20bf25c8ee57b7c6e13f528309ac6edc (patch) | |
tree | 00808b589ed4e95fd77722fadf106bf8a1121782 /drivers/mmc | |
parent | 4c4cb171054230c2e58ed6574d7faa1871c75bbe (diff) |
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 <jh80.chung@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Andy Ross <andy.ross@windriver.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/core/core.c | 2 |
1 files changed, 1 insertions, 1 deletions
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) | |||
1608 | for (i = 0; i < ARRAY_SIZE(freqs); i++) { | 1608 | for (i = 0; i < ARRAY_SIZE(freqs); i++) { |
1609 | if (!mmc_rescan_try_freq(host, max(freqs[i], host->f_min))) | 1609 | if (!mmc_rescan_try_freq(host, max(freqs[i], host->f_min))) |
1610 | break; | 1610 | break; |
1611 | if (freqs[i] < host->f_min) | 1611 | if (freqs[i] <= host->f_min) |
1612 | break; | 1612 | break; |
1613 | } | 1613 | } |
1614 | mmc_release_host(host); | 1614 | mmc_release_host(host); |