diff options
author | Vignesh Raghavendra <vigneshr@ti.com> | 2019-11-09 12:04:13 +0530 |
---|---|---|
committer | Jagan Teki <jagan@amarulasolutions.com> | 2019-12-27 17:47:26 +0530 |
commit | cb56caacf8113cef90a3b477f08912260fd6a02e (patch) | |
tree | 6bd75d3876e7732bee51c8cc8bef784a638d54e5 /drivers/mtd | |
parent | 864d66431a05a1ab78ac2995c1e98bd460766b35 (diff) | |
download | u-boot-cb56caacf8113cef90a3b477f08912260fd6a02e.tar.gz |
mtd: spi-nor-core: Fix static checker warnings
Static checker warns 'ret' variable may be used uninitialized in
spi_nor_erase() and spi_nor_write() in case of zero length requests.
Fix these warnings by checking for zero length requests and returning
early.
Reported-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r-- | drivers/mtd/spi/spi-nor-core.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/mtd/spi/spi-nor-core.c b/drivers/mtd/spi/spi-nor-core.c index 5a8c084255..eb49a6c11c 100644 --- a/drivers/mtd/spi/spi-nor-core.c +++ b/drivers/mtd/spi/spi-nor-core.c @@ -546,6 +546,9 @@ static int spi_nor_erase(struct mtd_info *mtd, struct erase_info *instr) dev_dbg(nor->dev, "at 0x%llx, len %lld\n", (long long)instr->addr, (long long)instr->len); + if (!instr->len) + return 0; + div_u64_rem(instr->len, mtd->erasesize, &rem); if (rem) return -EINVAL; @@ -1226,6 +1229,9 @@ static int spi_nor_write(struct mtd_info *mtd, loff_t to, size_t len, dev_dbg(nor->dev, "to 0x%08x, len %zd\n", (u32)to, len); + if (!len) + return 0; + for (i = 0; i < len; ) { ssize_t written; loff_t addr = to + i; |