Hi Jerry,

r66...@freescale.com wrote:
From: Jerry Huang <chang-ming.hu...@freescale.com>

Before running get_cd() recall function to detect whether the card is
present, must make sure the power is up.

Signed-off-by: Jerry Huang <chang-ming.hu...@freescale.com>
---
 drivers/mmc/core/core.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index 5278ffb..a08e6b1 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -2066,8 +2066,10 @@ void mmc_rescan(struct work_struct *work)
         */
        mmc_bus_put(host);
+ mmc_power_up(host);
        if (host->ops->get_cd && host->ops->get_cd(host) == 0)
                goto out;
+       mmc_power_off(host);

This does not feel right. get_cd is typically a function which makes use of some GPIO pin to find out if there is a card present and thus no power_up should be needed.

If your host driver does not support GPIO mechanism of detecting the card, the polling mechanism is maybe what you want.

mmc_claim_host(host);
        for (i = 0; i < ARRAY_SIZE(freqs); i++) {


Best regards
Ulf Hansson
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to