mmc: block: don't use CMD23 with very old MMC cards
[firefly-linux-kernel-4.4.55.git] / drivers / mmc / card / block.c
index 64950035613befe12ef82bd4acd4ce40a1fca317..f3a19b8ccfcb03b55935562355058b78c0da1e49 100644 (file)
@@ -2279,7 +2279,8 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card,
        set_capacity(md->disk, size);
 
        if (mmc_host_cmd23(card->host)) {
-               if (mmc_card_mmc(card) ||
+               if ((mmc_card_mmc(card) &&
+                    card->csd.mmca_vsn >= CSD_SPEC_VER_3) ||
                    (mmc_card_sd(card) &&
                     card->scr.cmds & SD_SCR_CMD23_SUPPORT))
                        md->flags |= MMC_BLK_CMD23;