Hi Jerry,
r66093@xxxxxxxxxxxxx wrote:
From: Jerry Huang <Chang-Ming.Huang@xxxxxxxxxxxxx>
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.Huang@xxxxxxxxxxxxx>
---
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html