mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
mtd: spi-flash: Check for zero length in legacy spi_flash_*()
Check for zero length in the legacy spi_flash_read() / spi_flash_write() / spi_flash_erase() functions. On zero length, return 0 immediately, don't call the underlying method. Rationale: - these legacy functions call the _read(), _write() and _erase() methods of struct mtd - the DM callers of these methods already check for zero length - making all callers of these methods check for zero length makes it possible to remove the check from implementations of these _read(), _write() and _erase() methods Signed-off-by: Marek Behún <marek.behun@nic.cz>
This commit is contained in:
parent
f57277997b
commit
a67b3719f3
1 changed files with 9 additions and 0 deletions
|
@ -165,6 +165,9 @@ static inline int spi_flash_read(struct spi_flash *flash, u32 offset,
|
|||
struct mtd_info *mtd = &flash->mtd;
|
||||
size_t retlen;
|
||||
|
||||
if (!len)
|
||||
return 0;
|
||||
|
||||
return mtd->_read(mtd, offset, len, &retlen, buf);
|
||||
}
|
||||
|
||||
|
@ -174,6 +177,9 @@ static inline int spi_flash_write(struct spi_flash *flash, u32 offset,
|
|||
struct mtd_info *mtd = &flash->mtd;
|
||||
size_t retlen;
|
||||
|
||||
if (!len)
|
||||
return 0;
|
||||
|
||||
return mtd->_write(mtd, offset, len, &retlen, buf);
|
||||
}
|
||||
|
||||
|
@ -188,6 +194,9 @@ static inline int spi_flash_erase(struct spi_flash *flash, u32 offset,
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (!len)
|
||||
return 0;
|
||||
|
||||
memset(&instr, 0, sizeof(instr));
|
||||
instr.addr = offset;
|
||||
instr.len = len;
|
||||
|
|
Loading…
Reference in a new issue