[PATCH v2] mtd: rawnand: sunxi: fit maximized ECC step to page size

Miquel Raynal miquel.raynal at bootlin.com
Tue Sep 8 03:03:33 PDT 2026


Hello James,

On 04/09/2026 at 16:39:27 -06, James Hilliard <james.hilliard1 at gmail.com> wrote:

> When nand-ecc-maximize is set, the driver unconditionally selects a
> 1024-byte ECC step. A NAND with a 512-byte page consequently produces
> zero ECC steps before the available OOB bytes are divided by the step
> count.
>
> The older sunxi NAND controllers support 512-byte ECC blocks. Select the
> smaller of the page size and the preferred 1024-byte step, using a
> 512-byte step for a 512-byte page while retaining 1024-byte steps for
> larger pages. Unsupported smaller steps and controllers without
> 512-byte support continue to be rejected by the existing checks.
>
> Fixes: 4796d8655915 ("mtd: nand: sunxi: Support ECC maximization")
> Cc: stable at vger.kernel.org
> Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>

As reported by Sashiko, there is another use of 1024 down the road which
must be modified accordingly. Although, in practice, 512-byte page NANDs
have disappeared for quite some time, so this is a theoretical fix more
than a real problem.

Thanks,
Miquèl



More information about the linux-mtd mailing list