]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
mtd: spinand: propagate spinand_wait() errors from spinand_write_page()
authorGabor Juhos <j4g8y7@gmail.com>
Tue, 30 Sep 2025 00:21:04 +0000 (03:21 +0300)
committerMichael Trimarchi <michael@amarulasolutions.com>
Sun, 5 Oct 2025 18:26:24 +0000 (20:26 +0200)
Since commit 3d1f08b032dc ("mtd: spinand: Use the external ECC engine
logic") the spinand_write_page() function ignores the errors returned
by spinand_wait(). Change the code to propagate those up to the stack
as it was done before the offending change.

This is a port of linux commit
091d9e35b85b ("mtd: spinand: propagate spinand_wait() errors from spinand_write_page()")

Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu> # U-Boot port
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
drivers/mtd/nand/spi/core.c

index daf6efb87d886e6bc577ccf353b70e1ea67c6416..3e21a06dd0f616b96ef516413b45e09338a5e6d2 100644 (file)
@@ -691,7 +691,10 @@ int spinand_write_page(struct spinand_device *spinand,
                           SPINAND_WRITE_INITIAL_DELAY_US,
                           SPINAND_WRITE_POLL_DELAY_US,
                           &status);
-       if (!ret && (status & STATUS_PROG_FAILED))
+       if (ret)
+               return ret;
+
+       if (status & STATUS_PROG_FAILED)
                return -EIO;
 
        return spinand_ondie_ecc_finish_io_req(nand, (struct nand_page_io_req *)req);