From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Wood Date: Thu, 14 May 2015 16:36:43 -0500 Subject: [U-Boot] [PATCH v2] env_nand: simplify readenv() In-Reply-To: <1431639322-9128-1-git-send-email-tharvey@gateworks.com> References: <1431639322-9128-1-git-send-email-tharvey@gateworks.com> Message-ID: <1431639403.3868.205.camel@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Thu, 2015-05-14 at 14:35 -0700, Tim Harvey wrote: > nand_read_skip_bad() already loops over blocks and handles bad block check > so eliminate this redundant logic. > > Signed-off-by: Tim Harvey > --- > v2: fix limit > > common/env_nand.c | 32 ++++++-------------------------- > 1 file changed, 6 insertions(+), 26 deletions(-) > > diff --git a/common/env_nand.c b/common/env_nand.c > index bab89fd..78e7b58 100644 > --- a/common/env_nand.c > +++ b/common/env_nand.c > @@ -268,35 +268,15 @@ static int readenv(size_t offset, u_char *buf) > #else > static int readenv(size_t offset, u_char *buf) > { > - size_t end = offset + CONFIG_ENV_RANGE; > - size_t amount_loaded = 0; > - size_t blocksize, len; > - u_char *char_ptr; > + nand_info_t *nand = &nand_info[0]; > + size_t len; > > - blocksize = nand_info[0].erasesize; > - if (!blocksize) > + len = min((size_t)nand->size - offset, (size_t)CONFIG_ENV_RANGE); This should be the limit ("lim", what you currently have as nand->size), not len. > + debug("%s: offset=0x%08x len=0x%08x\n", __func__, offset, len); > + if (nand_read_skip_bad(nand, offset, &len, NULL, nand->size, buf)) > return 1; -Scott