diff --git a/source/drivers/spi_flash.c b/source/drivers/spi_flash.c index ed75778..bb1f533 100644 --- a/source/drivers/spi_flash.c +++ b/source/drivers/spi_flash.c @@ -130,6 +130,7 @@ static size_t spi_flash_write(struct flash_dev *dev, uint32_t addr, spi_flash_addr(cmd, addr); nbytes = min(len, 32); + nbytes = nbytes - ((addr + nbytes) & 0xff); memmove(cmd + 4, data, nbytes); spi_tx_rx(spi_dev, NULL, 0, cmd, 4 + nbytes);