[U-Boot] [PATCH] update nand.h to support address more than 0x80000000

Scott Wood scottwood at freescale.com
Mon Jul 27 17:12:12 CEST 2009


On Sun, Jul 19, 2009 at 01:20:07AM +0200, Wolfgang Denk wrote:
> Dear Scott Wood,
> 
> In message <20090602201923.GA4549 at b07421-ec1.am.freescale.net> you wrote:
> > On Tue, Jun 02, 2009 at 07:27:01PM +0800, adrian wen wrote:
> > > Hi all,
> > > 
> > > I found a bug in nand.h which prevent UBOOT to supprt large NAND chip.
> > > 
> > > The bug description as below:
> > > In the original implementation, we use a wrapper function in
> > > nand.h to facilitate nand_base function usage in other files,
> > > like cmd_nand.c, nand_util.c etc.
> > > 
> > > However, the wrapper in nand.h is using off_t which is long type.
> > > If we pass a address like 0x80000000, which is allowed by nand_base.c,
> > > the wrapper would recognize it as a negative num. So we would get a
> > > huge num when this parameter get into nand_base.c
> > > 
> > > Fix it by replacing off_t to loff_t type.
> > > 
> > > Signed-off-by: Lei Wen <leiwen at marvell.com>
> > 
> > A substantially similar patch was posted here:
> > http://lists.denx.de/pipermail/u-boot/2009-May/052847.html
> > 
> > I'm fine with this change, but it should also handle large erases.
> 
> What happened out of this? I see a question asked by Adrian, but I
> cannot find a reply from you?

The previous patch (linked above) was applied.  Large erase is still
to be done.

-Scott


More information about the U-Boot mailing list