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

Scott Wood scottwood at freescale.com
Tue Jun 2 22:19:24 CEST 2009


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.

-Scott


More information about the U-Boot mailing list