[PATCH v3 6/6] mtd: rawnand: nand_base: Don't overwrite read/write_page_raw() for soft ECC

Miquel Raynal miquel.raynal at bootlin.com
Fri Jul 3 12:19:21 CEST 2026


On 02/07/2026 at 15:08:46 +02, "Bastien Curutchet (DAVE.eu)" <bastien.curutchet at bootlin.com> wrote:

> On writes, the Zynq NAND controller needs a bit to be set in the address
> register for the last 4 bytes sent. This is correctly handled by the
> zynq_nand_write_page_raw() operation but the callback is overwritten
> by the core when soft ECC is on. It leads to write failures.
>
> Don't overwrite the write_page_raw callback if it already has a specific
> implementation in the NAND driver.
> Do the same for the read_page_raw callback to keep symetry between reads
> and writes.
>
> Signed-off-by: Bastien Curutchet (DAVE.eu)
> <bastien.curutchet at bootlin.com>

This solution is aligned with what we have done in Linux as well, thanks
for the fix which seems rather straightforward this way.

Reviewed-by: Miquel Raynal <miquel.raynal at bootlin.com>

Thanks,
Miquèl


More information about the U-Boot mailing list