From: Marek Behún <marek.be...@nic.cz>

The spi_nor_erase() function does not check return value of the
write_enable() call. Fix this.

Signed-off-by: Marek Behún <marek.be...@nic.cz>
Reviewed-by: Simon Glass <s...@chromium.org>
Reviewed-by: Jagan Teki <ja...@amarulasolutions.com>
Tested-by: Masami Hiramatsu <masami.hirama...@linaro.org>
---
 drivers/mtd/spi/spi-nor-core.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c
index 529e7e9178..d2018ab702 100644
--- a/drivers/mtd/spi/spi-nor-core.c
+++ b/drivers/mtd/spi/spi-nor-core.c
@@ -929,7 +929,9 @@ static int spi_nor_erase(struct mtd_info *mtd, struct 
erase_info *instr)
                if (ret < 0)
                        goto erase_err;
 #endif
-               write_enable(nor);
+               ret = write_enable(nor);
+               if (ret < 0)
+                       goto erase_err;
 
                ret = spi_nor_erase_sector(nor, addr);
                if (ret < 0)
-- 
2.32.0

Reply via email to