diff options
Diffstat (limited to 'drivers/mmc/core')
-rw-r--r-- | drivers/mmc/core/mmc.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index 793c6f7ddb04..1eda8dd8c867 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c | |||
@@ -324,13 +324,12 @@ static int mmc_read_ext_csd(struct mmc_card *card, u8 *ext_csd) | |||
324 | } | 324 | } |
325 | } | 325 | } |
326 | 326 | ||
327 | /* | ||
328 | * The EXT_CSD format is meant to be forward compatible. As long | ||
329 | * as CSD_STRUCTURE does not change, all values for EXT_CSD_REV | ||
330 | * are authorized, see JEDEC JESD84-B50 section B.8. | ||
331 | */ | ||
327 | card->ext_csd.rev = ext_csd[EXT_CSD_REV]; | 332 | card->ext_csd.rev = ext_csd[EXT_CSD_REV]; |
328 | if (card->ext_csd.rev > 7) { | ||
329 | pr_err("%s: unrecognised EXT_CSD revision %d\n", | ||
330 | mmc_hostname(card->host), card->ext_csd.rev); | ||
331 | err = -EINVAL; | ||
332 | goto out; | ||
333 | } | ||
334 | 333 | ||
335 | card->ext_csd.raw_sectors[0] = ext_csd[EXT_CSD_SEC_CNT + 0]; | 334 | card->ext_csd.raw_sectors[0] = ext_csd[EXT_CSD_SEC_CNT + 0]; |
336 | card->ext_csd.raw_sectors[1] = ext_csd[EXT_CSD_SEC_CNT + 1]; | 335 | card->ext_csd.raw_sectors[1] = ext_csd[EXT_CSD_SEC_CNT + 1]; |