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

Jae Hyun Yoo quic_jaehyoo at quicinc.com
Fri Jul 15 17:06:42 PDT 2022


From: Michael Walle <michael at walle.cc>

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 at quicinc.com>
Signed-off-by: Michael Walle <michael at walle.cc>
Signed-off-by: Jae Hyun Yoo <quic_jaehyoo at quicinc.com>
---
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




More information about the linux-mtd mailing list