[PATCH v6 19/21] mtd: spinand: propagate spinand_wait() errors from spinand_write_page()

Frieder Schrempf frieder.schrempf at kontron.de
Tue Aug 19 09:26:14 CEST 2025


Am 18.08.25 um 12:06 schrieb Mikhail Kshevetskiy:
> From: Gabor Juhos <j4g8y7 at gmail.com>
> 
> 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 at gmail.com>
> Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
> Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy at iopsys.eu> # U-Boot port

This seems to be a fix for a change that was introduced in patch 10 of
this series. We should avoid introducing regressions and fixing them in
a later patch to preserve bisectability.

Can you please fold this change into patch 10?

> ---
>  drivers/mtd/nand/spi/core.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
> index daf6efb87d8..3e21a06dd0f 100644
> --- a/drivers/mtd/nand/spi/core.c
> +++ b/drivers/mtd/nand/spi/core.c
> @@ -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);



More information about the U-Boot mailing list