Dear Scott Wood, > On 07/02/2013 03:57:58 PM, Marek Vasut wrote: > > Dear Scott Wood, > > > > > On 07/02/2013 10:11:55 AM, Marek Vasut wrote: > > > > 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; > > > > > > > > } > > > > > > Where does ecc.strength now get set for the non-SYNDROME case? > > > > Gone ;-) The strength only needs to be set for the SYNDROME case > > according to > > the code in nand_base.c . > > Read it again. Note the lack of a "break;" before "case > NAND_ECC_HW_SYNDROME:".
Blargh. V2-time. Best regards, Marek Vasut _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

