[PATCH] mtd: don't try to detect UBI in too small flash partitions
Ahmad Fatoum
a.fatoum at pengutronix.de
Wed Feb 28 08:03:04 PST 2024
The detect callback will try to detect an UBI volume inside a partition.
If that partition happens to be smaller than 512 bytes, detect will fail
with -EINVAL.
Avoid this confusing error by early exiting in this case.
Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
drivers/mtd/core.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/mtd/core.c b/drivers/mtd/core.c
index 97a7996cf68e..34f919b96ea4 100644
--- a/drivers/mtd/core.c
+++ b/drivers/mtd/core.c
@@ -599,6 +599,10 @@ static int mtd_detect(struct device *dev)
enum filetype filetype;
int npebs = mtd_div_by_eb(mtd->size, mtd);
+ /* No point in looking for UBI on a partition that's smaller than an erase block */
+ if (!npebs)
+ return 0;
+
npebs = max(npebs, 64);
/*
--
2.39.2
More information about the barebox
mailing list