[PATCH RESEND v2 3/4] mtd: spinand: repeat reading in regular mode if continuous reading fails

Miquel Raynal miquel.raynal at bootlin.com
Sun Aug 24 09:24:00 PDT 2025


Hello,

> +		if (controller_is_buggy) {
> +			/*
> +			 * Some spi controllers may not support reading up to
> +			 * erase block size. They will read less data than
> +			 * expected. If this happen disable continuous mode
> +			 * and repeat reading in normal mode.
> +			 */
> +			spinand->cont_read_possible = false;

I am fine with the idea, but could we avoid this little dance and drop
the extra controller_is_buggy boolean, and just let
spinand_mtd_continuous_page_read() do the fixup and return -EAGAIN?

> +			ret = spinand_mtd_regular_page_read(mtd, from, ops,
> +							    &max_bitflips);
> +		}
> +	} else {
> +		ret = spinand_mtd_regular_page_read(mtd, from, ops,
> +						    &max_bitflips);
> +	}
>  
>  	if (ops->stats) {
>  		ops->stats->uncorrectable_errors +=

Thanks,
Miquèl



More information about the linux-arm-kernel mailing list