[PATCH] mmc: core: Substitute mmc_flush_cash for mmc_cache_ctrl in suspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



After the cache is disabled in suspend, enabling cache can be done by
mmc_init_card in resume. Currently this call path has been changed. In
case of sleep mode mmc_init_card isn't called. So mmc_cache_ctrl need to
be replaced with mmc_flush_cache in suspend.

Signed-off-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx>
---
 drivers/mmc/core/core.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index 8a19143..70e25d8 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -2329,9 +2329,14 @@ EXPORT_SYMBOL(mmc_card_can_sleep);
  */
 int mmc_flush_cache(struct mmc_card *card)
 {
-	struct mmc_host *host = card->host;
+	struct mmc_host *host;
 	int err = 0;
 
+	if (!card)
+		return err;
+
+	host = card->host;
+
 	if (!(host->caps2 & MMC_CAP2_CACHE_CTRL))
 		return err;
 
@@ -2401,7 +2406,7 @@ int mmc_suspend_host(struct mmc_host *host)
 	cancel_delayed_work(&host->detect);
 	mmc_flush_scheduled_work();
 	if (mmc_try_claim_host(host)) {
-		err = mmc_cache_ctrl(host, 0);
+		err = mmc_flush_cache(host->card);
 		mmc_do_release_host(host);
 	} else {
 		err = -EBUSY;
-- 
1.7.0.4


--
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


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux