Revert "mmc: Allow forward compatibility for eMMC"
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>
Wed, 29 Nov 2017 12:54:42 +0000 (13:54 +0100)
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>
Wed, 29 Nov 2017 12:54:42 +0000 (13:54 +0100)
This reverts commit 0293e897d740cc7991c82567aab5dee0e66294fd.

Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
drivers/mmc/core/mmc.c

index 6eb9a4ddcee8fa9b9dd0f5d70832795fd6fcb8de..2ed77066e8d6e3585807dbd9d27d6b6f2e310472 100644 (file)
@@ -293,12 +293,13 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd)
                }
        }
 
-       /*
-        * The EXT_CSD format is meant to be forward compatible. As long
-        * as CSD_STRUCTURE does not change, all values for EXT_CSD_REV
-        * are authorized, see JEDEC JESD84-B50 section B.8.
-        */
        card->ext_csd.rev = ext_csd[EXT_CSD_REV];
+       if (card->ext_csd.rev > 7) {
+               pr_err("%s: unrecognised EXT_CSD revision %d\n",
+                       mmc_hostname(card->host), card->ext_csd.rev);
+               err = -EINVAL;
+               goto out;
+       }
 
        card->ext_csd.raw_sectors[0] = ext_csd[EXT_CSD_SEC_CNT + 0];
        card->ext_csd.raw_sectors[1] = ext_csd[EXT_CSD_SEC_CNT + 1];