[PATCH 3/3] mtd: rawnand: pl353: Ensure program page operations are successful
Miquel Raynal
miquel.raynal at bootlin.com
Fri Sep 22 07:51:13 PDT 2023
On Mon, 2023-07-17 at 19:42:21 UTC, Miquel Raynal wrote:
> The NAND core complies with the ONFI specification, which itself
> mentions that after any program or erase operation, a status check
> should be performed to see whether the operation was finished *and*
> successful.
>
> The NAND core offers helpers to finish a page write (sending the
> "PAGE PROG" command, waiting for the NAND chip to be ready again, and
> checking the operation status). But in some cases, advanced controller
> drivers might want to optimize this and craft their own page write
> helper to leverage additional hardware capabilities, thus not always
> using the core facilities.
>
> Some drivers, like this one, do not use the core helper to finish a page
> write because the final cycles are automatically managed by the
> hardware. In this case, the additional care must be taken to manually
> perform the final status check.
>
> Let's read the NAND chip status at the end of the page write helper and
> return -EIO upon error.
>
> Cc: Michal Simek <michal.simek at amd.com>
> Cc: stable at vger.kernel.org
> Fixes: 08d8c62164a3 ("mtd: rawnand: pl353: Add support for the ARM PL353 SMC NAND controller")
> Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>
Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/fixes.
Miquel
More information about the linux-mtd
mailing list