diff --git a/drivers/flash/flash_stm32_qspi.c b/drivers/flash/flash_stm32_qspi.c index 768699e2bc0..3408cb7ae9e 100644 --- a/drivers/flash/flash_stm32_qspi.c +++ b/drivers/flash/flash_stm32_qspi.c @@ -311,6 +311,11 @@ static int flash_stm32_qspi_read(const struct device *dev, off_t addr, return -EINVAL; } + /* read non-zero size */ + if (!size) { + return 0; + } + QSPI_CommandTypeDef cmd = { .Instruction = SPI_NOR_CMD_READ, .Address = addr, @@ -359,6 +364,11 @@ static int flash_stm32_qspi_write(const struct device *dev, off_t addr, return -EINVAL; } + /* write non-zero size */ + if (!size) { + return 0; + } + QSPI_CommandTypeDef cmd_write_en = { .Instruction = SPI_NOR_CMD_WREN, .InstructionMode = QSPI_INSTRUCTION_1_LINE, @@ -429,6 +439,11 @@ static int flash_stm32_qspi_erase(const struct device *dev, off_t addr, return -EINVAL; } + /* erase non-zero size */ + if (!size) { + return 0; + } + QSPI_CommandTypeDef cmd_write_en = { .Instruction = SPI_NOR_CMD_WREN, .InstructionMode = QSPI_INSTRUCTION_1_LINE,