[U-Boot] fw_setenv broken?

Steve Sakoman steve at sakoman.com
Fri Nov 19 01:33:43 CET 2010


On Thu, 2010-11-18 at 18:20 -0600, Scott Wood wrote:
> On Thu, 18 Nov 2010 16:13:52 -0800
> Steve Sakoman <steve at sakoman.com> wrote:
> 
> > The code generating both errors is in the nand_do_read_ops function in nand_base.c:
> > 
> >        if (mtd->ecc_stats.failed - stats.failed)
> >                return -EBADMSG;
> > 
> >        return  mtd->ecc_stats.corrected - stats.corrected ? -EUCLEAN : 0;
> > }
> > 
> > I understand that the -EUCLEAN error indicates a correctable ECC error.  What does the -EBADMSG error indicate?
> 
> An uncorrectable ECC error (or other failure).
> 
> > This condition doesn't seem to bother the linux driver, but u-boot doesn't like it at all!
> 
> Check whether the ECC layout and code is the same for this driver in
> both U-Boot and Linux.

Since fw_printenv in Linux always can successfully read an environment
written by U-boot (aqs well as those written by fw_setenv), wouldn't
this indicate that they are using the same ECC layout?  If they were
different I would expect that compatibility in both directions would be
broken.

This is not my area of expertise, so perhaps I am just ignorant of how
things work.

Steve




More information about the U-Boot mailing list