All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/2] mtd: rawnand: vf610_nfc: fix reads on chips with more than 64 bytes of OOB
@ 2026-09-01  7:39 Mehmet Fide
  2026-09-01  7:39 ` [PATCH v3 1/2] " Mehmet Fide
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Mehmet Fide @ 2026-09-01  7:39 UTC (permalink / raw)
  To: Miquel Raynal
  Cc: Stefan Agner, Vignesh Raghavendra, Boris Brezillon,
	Frieder Schrempf, linux-mtd, linux-kernel, Mehmet Fide

From: Mehmet Fide <mehmet.fide@screeningeagle.com>

The driver only implements the 64-byte OOB format the controller
transfers, so chips with a larger OOB (the Colibri VF61's MX30LF4G28AC
has 112 bytes) stopped working when nanddev_init() began restoring
mtd->oobsize after ->attach_chip(): the parity moved and every
ECC-protected read failed, including the BBT and everything UBI needs.

The detected OOB size stays, the driver gets its own mtd_ooblayout_ops
computed on the first 64 OOB bytes, and the data paths keep
transferring exactly those 64 spare bytes, so the on-flash format stays
identical to U-Boot and to the kernels that clamped.

v3 addresses Miquel's review and the confirmed finding from the Sashiko
report: ECC page reads now fill the tail of oob_poi with 0xff, since
mtd->oobsize bytes of it may reach userspace while only 64 are
transferred. Retested on both boards. Colibri VF61 (112 bytes of OOB):
BBT found and read clean, UBI attaches and the UBIFS root mounts, 8 MiB
write/read-back intact, and OOB reads return 0xff in the 48 bytes past
the transferred area on every page sampled (6000+ pages, written and
erased). Colibri VF50 (64-byte chip, tail fill is a no-op): layout
unchanged, corrected counter stays zero across a full dump.

v2: https://lore.kernel.org/linux-mtd/20260828085337.3916199-1-mehmet.fide@gmail.com/
v1: https://lore.kernel.org/linux-mtd/20260818114208.2780311-1-mehmet.fide@gmail.com/


Mehmet Fide (2):
  mtd: rawnand: vf610_nfc: fix reads on chips with more than 64 bytes of
    OOB
  mtd: rawnand: vf610_nfc: fix false bitflips on reads of erased pages

 drivers/mtd/nand/raw/vf610_nfc.c | 85 ++++++++++++++++++++++++++------
 1 file changed, 70 insertions(+), 15 deletions(-)

-- 
2.54.0


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-09-04 17:38 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-01  7:39 [PATCH v3 0/2] mtd: rawnand: vf610_nfc: fix reads on chips with more than 64 bytes of OOB Mehmet Fide
2026-09-01  7:39 ` [PATCH v3 1/2] " Mehmet Fide
2026-09-01  7:39 ` [PATCH v3 2/2] mtd: rawnand: vf610_nfc: fix false bitflips on reads of erased pages Mehmet Fide
2026-09-04 17:38 ` [PATCH v3 0/2] mtd: rawnand: vf610_nfc: fix reads on chips with more than 64 bytes of OOB Miquel Raynal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.