aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorBrian Norris <computersforpeace@gmail.com>2014-08-06 21:16:56 -0400
committerBrian Norris <computersforpeace@gmail.com>2014-11-05 05:02:20 -0500
commit1d61dcb3ff5e4713d242a539947d8dd650ab3014 (patch)
treed61febf46b37778e65a2eb7d524adb1fae5acc67 /drivers/mtd
parent51983b7dcf3a50f4fdf6353235cd520e6c946e5a (diff)
mtd: spi-nor: handle timeout errors in spi_nor_write()
The error label was unused here. It looks like we're missing at least one case that should be doing 'goto write_err'. Signed-off-by: Brian Norris <computersforpeace@gmail.com> Reviewed-by: Marek Vasut <marex@denx.de> Acked-by: Huang Shijie <shijie8@gmail.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/spi-nor/spi-nor.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c
index c66de2fc89d6..b62d9d00c30e 100644
--- a/drivers/mtd/spi-nor/spi-nor.c
+++ b/drivers/mtd/spi-nor/spi-nor.c
@@ -805,7 +805,10 @@ static int spi_nor_write(struct mtd_info *mtd, loff_t to, size_t len,
805 if (page_size > nor->page_size) 805 if (page_size > nor->page_size)
806 page_size = nor->page_size; 806 page_size = nor->page_size;
807 807
808 wait_till_ready(nor); 808 ret = wait_till_ready(nor);
809 if (ret)
810 goto write_err;
811
809 write_enable(nor); 812 write_enable(nor);
810 813
811 nor->write(nor, to + i, page_size, retlen, buf + i); 814 nor->write(nor, to + i, page_size, retlen, buf + i);
@@ -814,7 +817,7 @@ static int spi_nor_write(struct mtd_info *mtd, loff_t to, size_t len,
814 817
815write_err: 818write_err:
816 spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_WRITE); 819 spi_nor_unlock_and_unprep(nor, SPI_NOR_OPS_WRITE);
817 return 0; 820 return ret;
818} 821}
819 822
820static int macronix_quad_enable(struct spi_nor *nor) 823static int macronix_quad_enable(struct spi_nor *nor)