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 <[email protected]>
Cc: Benoît Thébaudeau <[email protected]>
Cc: Fabio Estevam <[email protected]>
Cc: Scott Wood <[email protected]>
---
 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

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to