From: Marek Vasut <marex@denx.de>
Date: Wed, 3 Jul 2013 00:34:34 +0000 (+0200)
Subject: mtd: mxc_nand: Fix crash after MTD resync
X-Git-Tag: v2025.01-rc5-pxa1908~16056^2
X-Git-Url: http://git.dujemihanovic.xyz/img/html/index.html?a=commitdiff_plain;h=1c903694370259738abccc67ff0d6e5eaf7886f9;p=u-boot.git

mtd: mxc_nand: Fix crash after MTD resync

The driver triggered a BUG() in nand_base.c:3214/nand_scan_tail()
because the ecc.strength was not set in NAND_ECC_HW_SYNDROME ECC
mode.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Benoit Thebaudeau <benoit.thebaudeau@advansee.com>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Scott Wood <scottwood@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
---

diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
index ac435f2050..40b0741f6a 100644
--- a/drivers/mtd/nand/mxc_nand.c
+++ b/drivers/mtd/nand/mxc_nand.c
@@ -1242,12 +1242,10 @@ int board_nand_init(struct nand_chip *this)
 		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;
-	}
+	if (is_mxc_nfc_1())
+		this->ecc.strength = 1;
+	else
+		this->ecc.strength = 4;
 
 	host->pagesize_2k = 0;