summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2014-06-04 13:29:39 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2015-05-29 13:43:39 +0200
commit9aea712d66593c0b0552f534a28a58f97c7ad24e (patch)
treeefaeca66c8b54de6dcc304bcf65aa34de3291490 /drivers
parentb56f3c8d6423a73f9b239b6dca93f0b3c3f56697 (diff)
eMMC: Don't initialize partitions on RPMB flagged areas.
Prevents a lot of pointless hanging at boot on some devices. Taken from Nell Hardcastle https://dev-nell.com/rpmb-emmc-errors-under-linux.html
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mmc/card/block.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c
index 8c7923518f13..b6cf74d7aff3 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -2214,7 +2214,8 @@ static int mmc_blk_alloc_parts(struct mmc_card *card, struct mmc_blk_data *md)
return 0;
for (idx = 0; idx < card->nr_parts; idx++) {
- if (card->part[idx].size) {
+ if (card->part[idx].size &&
+ !(card->part[idx].area_type & MMC_BLK_DATA_AREA_RPMB)) {
ret = mmc_blk_alloc_part(card, md,
card->part[idx].part_cfg,
card->part[idx].size >> 9,