[U-Boot] [PATCH] mtd: mxc_nand: Fix crash after MTD resync
Marek Vasut
marex at denx.de
Tue Jul 2 17:11:55 CEST 2013
The driver triggered a BUG() in nand_base.c:3214/nand_scan_tail()
because the ecc.strength was incorrectly set in case of NAND_ECC_HW
instead of NAND_ECC_HW_SYNDROME ECC mode.
Signed-off-by: Marek Vasut <marex at denx.de>
Cc: Benoît Thébaudeau <benoit.thebaudeau at advansee.com>
Cc: Fabio Estevam <fabio.estevam at freescale.com>
Cc: Scott Wood <scottwood at freescale.com>
---
drivers/mtd/nand/mxc_nand.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
index ac435f2..08c7b8b 100644
--- a/drivers/mtd/nand/mxc_nand.c
+++ b/drivers/mtd/nand/mxc_nand.c
@@ -1238,15 +1238,12 @@ int board_nand_init(struct nand_chip *this)
this->ecc.write_oob = mxc_nand_write_oob_syndrome;
this->ecc.bytes = 9;
this->ecc.prepad = 7;
- } else {
- this->ecc.mode = NAND_ECC_HW;
- }
-
- if (this->ecc.mode == NAND_ECC_HW) {
if (is_mxc_nfc_1())
this->ecc.strength = 1;
else
this->ecc.strength = 4;
+ } else {
+ this->ecc.mode = NAND_ECC_HW;
}
host->pagesize_2k = 0;
--
1.7.10.4
More information about the U-Boot
mailing list