]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mtd: spi-nor: Support controllers with limited TX FIFO size
authorYogesh Gaur <yogeshnarayan.gaur@nxp.com>
Wed, 13 Jun 2018 06:08:12 +0000 (11:38 +0530)
committerBoris Brezillon <boris.brezillon@bootlin.com>
Mon, 8 Oct 2018 19:28:27 +0000 (21:28 +0200)
Some SPI controllers can't write nor->page_size bytes in a single
step because their TX FIFO is too small.

Allow nor->write() to return a size that is smaller than the requested
write size to gracefully handle this case.

Signed-off-by: Yogesh Gaur <yogeshnarayan.gaur@nxp.com>
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
drivers/mtd/spi-nor/spi-nor.c

index 7993dd5c0c216fa434b9a24b5b226f22d72332b4..9407ca5f9443338d56a355fe0eadfa6641a429dc 100644 (file)
@@ -1756,13 +1756,6 @@ static int spi_nor_write(struct mtd_info *mtd, loff_t to, size_t len,
                        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: