]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mtd: spinand: propagate spinand_wait() errors from spinand_write_page()
authorGabor Juhos <j4g8y7@gmail.com>
Tue, 8 Jul 2025 13:11:00 +0000 (15:11 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Wed, 30 Jul 2025 09:27:30 +0000 (11:27 +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.

Cc: stable@vger.kernel.org
Fixes: 3d1f08b032dc ("mtd: spinand: Use the external ECC engine logic")
Signed-off-by: Gabor Juhos <j4g8y7@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
drivers/mtd/nand/spi/core.c

index c411fe9be3ef81114a65b103cbfa41b67bc932b9..b90f15c986a3177f70e4874d08575edc7aec7987 100644 (file)
@@ -688,7 +688,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 nand_ecc_finish_io_req(nand, (struct nand_page_io_req *)req);