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>2014-06-04 13:29:39 +0200
commit299860206da1bf98282f3e71f6004d7e49482b68 (patch)
tree244aa449c10ed5719528cc173ce93d94f5e80da4 /drivers
parent50d83025640d6f465c37799ffdab9f6a2dc75b5f (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 dd27b0783d52..a49cd832f6f4 100644
--- a/drivers/mmc/card/block.c
+++ b/drivers/mmc/card/block.c
@@ -2138,7 +2138,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,