From 352ff66c6e0c171baf7ddb1fa984b924587aec31 Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski Date: Thu, 14 Jun 2012 10:17:39 +0200 Subject: [PATCH] --- yaml --- r: 312833 b: refs/heads/master c: d9adcc12860d76cf3401c6ab7c0406b15b356b7a h: refs/heads/master i: 312831: fe104cd7ef3f0086f6876cc3bae2b88bbdbf5832 v: v3 --- [refs] | 2 +- trunk/drivers/mmc/core/core.c | 2 ++ trunk/drivers/mmc/core/host.c | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 228387aa24b0..2a1835e7f0e5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bf68a812f06ca40bccfa2e792055141f2c3948c7 +refs/heads/master: d9adcc12860d76cf3401c6ab7c0406b15b356b7a diff --git a/trunk/drivers/mmc/core/core.c b/trunk/drivers/mmc/core/core.c index 8d00aef9523e..9503cabc96f1 100644 --- a/trunk/drivers/mmc/core/core.c +++ b/trunk/drivers/mmc/core/core.c @@ -2107,6 +2107,7 @@ void mmc_rescan(struct work_struct *work) void mmc_start_host(struct mmc_host *host) { host->f_init = max(freqs[0], host->f_min); + host->rescan_disable = 0; mmc_power_up(host); mmc_detect_change(host, 0); } @@ -2120,6 +2121,7 @@ void mmc_stop_host(struct mmc_host *host) spin_unlock_irqrestore(&host->lock, flags); #endif + host->rescan_disable = 1; cancel_delayed_work_sync(&host->detect); mmc_flush_scheduled_work(); diff --git a/trunk/drivers/mmc/core/host.c b/trunk/drivers/mmc/core/host.c index 74cf29a504f4..597f189b4427 100644 --- a/trunk/drivers/mmc/core/host.c +++ b/trunk/drivers/mmc/core/host.c @@ -313,6 +313,8 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev) if (!host) return NULL; + /* scanning will be enabled when we're ready */ + host->rescan_disable = 1; spin_lock(&mmc_host_lock); err = idr_get_new(&mmc_host_idr, host, &host->index); spin_unlock(&mmc_host_lock);