If MMC_CAP_NONREMOVABLE is set, only issue a detect job on init.

Signed-off-by: Johan Rudholm <[email protected]>
Acked-by: Ulf Hansson <[email protected]>
---
 drivers/mmc/core/core.c  |    5 +++++
 include/linux/mmc/host.h |    1 +
 2 files changed, 6 insertions(+)

diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index 8ac5246..2f4e273 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -2052,6 +2052,11 @@ void mmc_rescan(struct work_struct *work)
        if (host->rescan_disable)
                return;
 
+       /* If there is a non-removable card registered, only scan once */
+       if ((host->caps & MMC_CAP_NONREMOVABLE) && host->rescan_entered)
+               return;
+       host->rescan_entered = 1;
+
        mmc_bus_get(host);
 
        /*
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index f578a71..d5d9bd4 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -300,6 +300,7 @@ struct mmc_host {
 #endif
 
        int                     rescan_disable; /* disable card detection */
+       int                     rescan_entered; /* used with nonremovable 
devices */
 
        struct mmc_card         *card;          /* device attached to this host 
*/
 
-- 
1.7.10

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to