123456789101112131415161718192021222324252627282930313233343536 |
- From: Felix Fietkau <[email protected]>
- Date: Thu, 22 Feb 2018 11:11:57 +0100
- Subject: [PATCH] mtd: spi-nor: allow NOR driver to write fewer bytes than
- requested
- The write size can be constrained by the maximum message/transfer size
- of the SPI controller. Only check for ret = 0 to avoid an infinite loop.
- Signed-off-by: Felix Fietkau <[email protected]>
- ---
- --- a/drivers/mtd/spi-nor/spi-nor.c
- +++ b/drivers/mtd/spi-nor/spi-nor.c
- @@ -1371,7 +1371,7 @@ static int spi_nor_write(struct mtd_info
-
- write_enable(nor);
- ret = nor->write(nor, addr, page_remain, buf + i);
- - if (ret < 0)
- + if (ret <= 0)
- goto write_err;
- written = ret;
-
- @@ -1380,13 +1380,6 @@ static int spi_nor_write(struct mtd_info
- goto write_err;
- *retlen += written;
- i += written;
- - if (written != page_remain) {
- - dev_err(nor->dev,
- - "While writing %zu bytes written %zd bytes\n",
- - page_remain, written);
- - ret = -EIO;
- - goto write_err;
- - }
- }
-
- write_err:
|