U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mtd: nand: pxa3xx: Incorrect bitflip return on page read
@ 2024-04-27 16:15 Ravi Minnikanti
  2024-04-29 16:22 ` Chris Packham
  0 siblings, 1 reply; 10+ messages in thread
From: Ravi Minnikanti @ 2024-04-27 16:15 UTC (permalink / raw)
  To: u-boot; +Cc: hs, trini, sr, judge.packham

Once a page is read with higher bitflips all subsequent reads
are returning the same bitflip value even though they have none.
max_bitflip variable is not being reset to 0 across page reads.

This is causing problems like incorrectly
marking erase blocks bad by UBI and causing read failures.

Verified the change with both MTD reads and UBI.
This change is inline with other NFC drivers.

Sample error log where a block is marked bad incorrectly:

ubi0: fixable bit-flip detected at PEB 125
ubi0: run torture test for PEB 125
ubi0: fixable bit-flip detected at PEB 125
ubi0 error: torture_peb: read problems on freshly erased PEB 125,
must be bad
ubi0 error: erase_worker: failed to erase PEB 125, error -5
ubi0: mark PEB 125 as bad

Signed-off-by: rminnikanti <rminnikanti@marvell.com>
---
 drivers/mtd/nand/raw/pxa3xx_nand.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/mtd/nand/raw/pxa3xx_nand.c b/drivers/mtd/nand/raw/pxa3xx_nand.c
index 1d9a6d107b..d2a4faad56 100644
--- a/drivers/mtd/nand/raw/pxa3xx_nand.c
+++ b/drivers/mtd/nand/raw/pxa3xx_nand.c
@@ -800,6 +800,11 @@ static void prepare_start_command(struct pxa3xx_nand_info *info, int command)
 	info->ecc_err_cnt	= 0;
 	info->ndcb3		= 0;
 	info->need_wait		= 0;
+	/*
+	 * Reset max_bitflips to zero. Once command is complete,
+	 * max_bitflips for this READ is returned in ecc.read_page()
+	 */
+	info->max_bitflips	= 0;
 
 	switch (command) {
 	case NAND_CMD_READ0:
-- 
2.17.1

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

end of thread, other threads:[~2024-06-16 10:24 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-27 16:15 [PATCH] mtd: nand: pxa3xx: Incorrect bitflip return on page read Ravi Minnikanti
2024-04-29 16:22 ` Chris Packham
2024-04-29 16:59   ` Michael Nazzareno Trimarchi
2024-04-30  4:25     ` [EXTERNAL] " Ravi Minnikanti
2024-05-06  7:35       ` Michael Nazzareno Trimarchi
2024-05-06 17:32         ` Ravi Minnikanti
2024-05-06 18:28           ` Michael Nazzareno Trimarchi
2024-05-21 14:30             ` [EXTERNAL] " Ravi Minnikanti
2024-05-21 20:15               ` Michael Nazzareno Trimarchi
2024-06-16 10:24                 ` Ravi Minnikanti

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox