mmc: core: don't try to switch block size for dual rate mode
authorZiyuan Xu <xzy.xu@rock-chips.com>
Wed, 21 Sep 2016 01:43:49 +0000 (09:43 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 26 Sep 2016 19:31:34 +0000 (21:31 +0200)
Per spec, block size should always be 512 bytes for dual rate mode,
so any attempts to switch the block size under dual rate mode should
be neglected.

Signed-off-by: Ziyuan Xu <xzy.xu@rock-chips.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/core/core.c

index f0ed0af..2553d90 100644 (file)
@@ -2576,7 +2576,8 @@ int mmc_set_blocklen(struct mmc_card *card, unsigned int blocklen)
 {
        struct mmc_command cmd = {0};
 
-       if (mmc_card_blockaddr(card) || mmc_card_ddr52(card))
+       if (mmc_card_blockaddr(card) || mmc_card_ddr52(card) ||
+           mmc_card_hs400(card) || mmc_card_hs400es(card))
                return 0;
 
        cmd.opcode = MMC_SET_BLOCKLEN;