diff mbox series

mtd: Update fail_addr when erase fails due to bad blocks

Message ID 20210224232553.23477-1-farhan.ali@broadcom.com
State Accepted
Commit c146de48727da66ea7dc43f12bd41814cff2faa8
Delegated to: Tom Rini
Headers show
Series mtd: Update fail_addr when erase fails due to bad blocks | expand

Commit Message

Farhan Ali Feb. 24, 2021, 11:25 p.m. UTC
For all other erase failures, the fail_addr is updated with the
failing address. Only in the case of erase failure due to bad block
detection, the fail_addr is not updated. This change simply updates
the fail_addr for this specific scenario so that it is consistent with
the rest of the code.

Signed-off-by: Farhan Ali <farhan.ali@broadcom.com>
---
Cc: Simon Glass <sjg@chromium.org>

 drivers/mtd/nand/raw/nand_base.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Tom Rini April 13, 2021, 2:27 p.m. UTC | #1
On Wed, Feb 24, 2021 at 03:25:53PM -0800, Farhan Ali wrote:

> For all other erase failures, the fail_addr is updated with the
> failing address. Only in the case of erase failure due to bad block
> detection, the fail_addr is not updated. This change simply updates
> the fail_addr for this specific scenario so that it is consistent with
> the rest of the code.
> 
> Signed-off-by: Farhan Ali <farhan.ali@broadcom.com>

Applied to u-boot/master, thanks!
diff mbox series

Patch

diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c
index 6557fad..3679ee7 100644
--- a/drivers/mtd/nand/raw/nand_base.c
+++ b/drivers/mtd/nand/raw/nand_base.c
@@ -3559,6 +3559,8 @@  int nand_erase_nand(struct mtd_info *mtd, struct erase_info *instr,
 			pr_warn("%s: attempt to erase a bad block at page 0x%08x\n",
 				    __func__, page);
 			instr->state = MTD_ERASE_FAILED;
+			instr->fail_addr =
+				((loff_t)page << chip->page_shift);
 			goto erase_exit;
 		}