mirror of
https://xff.cz/git/u-boot/
synced 2025-09-29 22:41:17 +02: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:
@@ -165,6 +165,9 @@ static inline int spi_flash_read(struct spi_flash *flash, u32 offset,
|
|||||||
struct mtd_info *mtd = &flash->mtd;
|
struct mtd_info *mtd = &flash->mtd;
|
||||||
size_t retlen;
|
size_t retlen;
|
||||||
|
|
||||||
|
if (!len)
|
||||||
|
return 0;
|
||||||
|
|
||||||
return mtd->_read(mtd, offset, len, &retlen, buf);
|
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;
|
struct mtd_info *mtd = &flash->mtd;
|
||||||
size_t retlen;
|
size_t retlen;
|
||||||
|
|
||||||
|
if (!len)
|
||||||
|
return 0;
|
||||||
|
|
||||||
return mtd->_write(mtd, offset, len, &retlen, buf);
|
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;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!len)
|
||||||
|
return 0;
|
||||||
|
|
||||||
memset(&instr, 0, sizeof(instr));
|
memset(&instr, 0, sizeof(instr));
|
||||||
instr.addr = offset;
|
instr.addr = offset;
|
||||||
instr.len = len;
|
instr.len = len;
|
||||||
|
Reference in New Issue
Block a user