[PATCH v3 1/2] mtd: spi-nor: fix select_uniform_erase to skip 0 erase size

From: Jae Hyun Yoo
Date: Fri Jul 15 2022 - 20:07:13 EST


From: Michael Walle <michael@xxxxxxxx>

4bait will set the erase size to 0 if there is no corresponding
opcode for the 4byte erase. Fix spi_nor_select_uniform_erase to skip
the 0 erase size to avoid mtd device registration failure cases.

Reported-by: Jae Hyun Yoo <quic_jaehyoo@xxxxxxxxxxx>
Signed-off-by: Michael Walle <michael@xxxxxxxx>
Signed-off-by: Jae Hyun Yoo <quic_jaehyoo@xxxxxxxxxxx>
---
Changes in v3:
* Added newly in v3.

drivers/mtd/spi-nor/core.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
index 502967c76c5f..666ef6ce9549 100644
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -2113,6 +2113,10 @@ spi_nor_select_uniform_erase(struct spi_nor_erase_map *map,

tested_erase = &map->erase_type[i];

+ /* Skip masked erase types. */
+ if (!tested_erase->size)
+ continue;
+
/*
* If the current erase size is the one, stop here:
* we have found the right uniform Sector Erase command.
--
2.25.1