summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2014-06-04 13:29:39 +0200
committerPhilippe Schenker <philippe.schenker@toradex.com>2019-05-24 11:34:12 +0200
commitdc5105862babd5f7fb1215ace76e4affee1e75ff (patch)
tree8786dfecadfb4532eda13b6b40b315b88b8d66ec /drivers
parentbf48fa688da8cb069a5bb9e45f0cd1cef6fe0637 (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 Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit d888e1ddc838112d3ccf4853c0b8934490134fbb) (cherry picked from commit 25c2bbcb3b52a09d13859edc2401f142ced98235)
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mmc/core/block.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c
index 344b29627818..25bb4318129b 100644
--- a/drivers/mmc/core/block.c
+++ b/drivers/mmc/core/block.c
@@ -2910,7 +2910,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,