mmc: core: don't check card status when flushing cache
authorShawn Lin <shawn.lin@rock-chips.com>
Fri, 27 May 2016 06:54:50 +0000 (14:54 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Mon, 30 May 2016 09:30:13 +0000 (17:30 +0800)
It's meaningless to check the card's status which execute
the on-going flush. As the status been responsed make no
any sense here.

Change-Id: I34197d1c93c01337dd2e68ec22e3ce8dd195c424
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
drivers/mmc/core/core.c

index 5afb319bb40e2fcc2dd57357c8619c6304eb2308..44432229acc57aa686bd26d2e9046f224d893480 100644 (file)
@@ -2785,8 +2785,9 @@ int mmc_flush_cache(struct mmc_card *card)
        if (mmc_card_mmc(card) &&
                        (card->ext_csd.cache_size > 0) &&
                        (card->ext_csd.cache_ctrl & 1)) {
-               err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
-                               EXT_CSD_FLUSH_CACHE, 1, 0);
+               err = __mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
+                                  EXT_CSD_FLUSH_CACHE, 1, 1,
+                                  true, false, false);
                if (err)
                        pr_err("%s: cache flush error %d\n",
                                        mmc_hostname(card->host), err);