aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Delaunay <patrick.delaunay@foss.st.com>2022-02-15 16:23:22 +0100
committerJaehoon Chung <jh80.chung@samsung.com>2022-06-15 15:34:18 +0900
commit212875e707b6bc75780386c2cb28fbac7e2ab8f3 (patch)
tree71e19b5c5fd5fa7a65bd4f678ec9f49ee2797275
parentc18e5fb055ab789f58434e3cb432582adee0134c (diff)
downloadu-boot-212875e707b6bc75780386c2cb28fbac7e2ab8f3.zip
u-boot-212875e707b6bc75780386c2cb28fbac7e2ab8f3.tar.gz
u-boot-212875e707b6bc75780386c2cb28fbac7e2ab8f3.tar.bz2
mmc: fix error message for unaligned erase request
Fix the end address in the message for unaligned erase request in mmc_berase() when start + blkcnt is aligned to erase_grp_size. for example: - start = 0x2000 - 26 - count = 26 - erase_grp_size = 0x400 Caution! Your devices Erase group is 0x400 The erase range would be change to 0x2000~0x27ff But no issue when the end address is not aligned, for example - start = 0x2000 - 2 * 26 - count = 26 - erase_grp_size = 0x400 Caution! Your devices Erase group is 0x400 The erase range would be change to 0x2000~0x23ff Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
-rw-r--r--drivers/mmc/mmc_write.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/mmc/mmc_write.c b/drivers/mmc/mmc_write.c
index d23b7d9..eab94c7 100644
--- a/drivers/mmc/mmc_write.c
+++ b/drivers/mmc/mmc_write.c
@@ -102,7 +102,7 @@ ulong mmc_berase(struct blk_desc *block_dev, lbaint_t start, lbaint_t blkcnt)
"The erase range would be change to "
"0x" LBAF "~0x" LBAF "\n\n",
mmc->erase_grp_size, start & ~(mmc->erase_grp_size - 1),
- ((start + blkcnt + mmc->erase_grp_size)
+ ((start + blkcnt + mmc->erase_grp_size - 1)
& ~(mmc->erase_grp_size - 1)) - 1);
while (blk < blkcnt) {