[U-Boot] [PATCH v2] spi: sf_ops: Check the return value from spi_flash_cmd_read_status()

From: Fabio Estevam fabio.estevam@freescale.com
We should check the return value from spi_flash_cmd_read_status() and propagate it in the case of error.
This fixes a defect caught by Coverity.
Reported-by: Tom Rini trini@konsulko.com Signed-off-by: Fabio Estevam fabio.estevam@freescale.com --- Changes since v1: - Use if (ret < 0) (Jagan)
drivers/mtd/spi/sf_ops.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/mtd/spi/sf_ops.c b/drivers/mtd/spi/sf_ops.c index 384224d..6cc2d31 100644 --- a/drivers/mtd/spi/sf_ops.c +++ b/drivers/mtd/spi/sf_ops.c @@ -663,8 +663,11 @@ int stm_lock(struct spi_flash *flash, u32 ofs, size_t len) u8 status_old, status_new; u8 mask = SR_BP2 | SR_BP1 | SR_BP0; u8 shift = ffs(mask) - 1, pow, val; + int ret;
- spi_flash_cmd_read_status(flash, &status_old); + ret = spi_flash_cmd_read_status(flash, &status_old); + if (ret < 0) + return ret;
/* SPI NOR always locks to the end */ if (ofs + len != flash->size) { @@ -714,8 +717,11 @@ int stm_unlock(struct spi_flash *flash, u32 ofs, size_t len) uint8_t status_old, status_new; u8 mask = SR_BP2 | SR_BP1 | SR_BP0; u8 shift = ffs(mask) - 1, pow, val; + int ret;
- spi_flash_cmd_read_status(flash, &status_old); + ret = spi_flash_cmd_read_status(flash, &status_old); + if (ret < 0) + return ret;
/* Cannot unlock; would unlock larger region than requested */ if (stm_is_locked_sr(flash, status_old, ofs - flash->erase_size,

On 18 November 2015 at 00:43, Fabio Estevam festevam@gmail.com wrote:
From: Fabio Estevam fabio.estevam@freescale.com
We should check the return value from spi_flash_cmd_read_status() and propagate it in the case of error.
This fixes a defect caught by Coverity.
Reported-by: Tom Rini trini@konsulko.com Signed-off-by: Fabio Estevam fabio.estevam@freescale.com
Applied to u-boot-spi/master
thanks!
participants (2)
-
Fabio Estevam
-
Jagan Teki