[U-Boot] [PATCH] env_nand: return error when no device is found

Currently, if there is an error probing the NAND chip and the env is based in NAND, the readenv() function will use a NULL function pointer and thus jump to address 0.
Here I just check for a non-zero value of blocksize as that shouldn't be zero when a valid device is found, but perhaps there is a better way for someone familiar with the NAND internals to suggest.
Signed-off-by: Mike Frysinger vapier@gentoo.org --- common/env_nand.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/common/env_nand.c b/common/env_nand.c index a5e1038..d38bcca 100644 --- a/common/env_nand.c +++ b/common/env_nand.c @@ -266,6 +266,8 @@ int readenv (size_t offset, u_char * buf) u_char *char_ptr;
blocksize = nand_info[0].erasesize; + if (!blocksize) + return 1; len = min(blocksize, CONFIG_ENV_SIZE);
while (amount_loaded < CONFIG_ENV_SIZE && offset < end) {

On Wed, Aug 11, 2010 at 11:42 PM, Mike Frysinger vapier@gentoo.org wrote:
Currently, if there is an error probing the NAND chip and the env is based in NAND, the readenv() function will use a NULL function pointer and thus jump to address 0.
Here I just check for a non-zero value of blocksize as that shouldn't be zero when a valid device is found, but perhaps there is a better way for someone familiar with the NAND internals to suggest.
Signed-off-by: Mike Frysinger vapier@gentoo.org
Applies clean to 69a2a4d9a5884a6f2d04a551308980d452b9b349 of git://git.denx.de/u-boot.git.
Tested on da850evm_config with NAND enabled, board boots fine.
Tested-by: Ben Gardinerbengardiner@nanometrics.ca
--- Nanometrics Inc. http://www.nanometrics.ca

On Wed, Aug 11, 2010 at 11:42:26PM -0400, Mike Frysinger wrote:
Currently, if there is an error probing the NAND chip and the env is based in NAND, the readenv() function will use a NULL function pointer and thus jump to address 0.
Here I just check for a non-zero value of blocksize as that shouldn't be zero when a valid device is found, but perhaps there is a better way for someone familiar with the NAND internals to suggest.
Signed-off-by: Mike Frysinger vapier@gentoo.org
common/env_nand.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-)
Applied to u-boot-nand-flash.
-Scott
participants (3)
-
Ben Gardiner
-
Mike Frysinger
-
Scott Wood