From: "Lothar Waßmann" <LW@KARO-electronics.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/2] spl: Fix redundant image of uboot
Date: Wed, 4 Jul 2018 16:19:18 +0200 [thread overview]
Message-ID: <20180704161918.601e8f93@karo-electronics.de> (raw)
In-Reply-To: <1530712418-20583-1-git-send-email-michael@amarulasolutions.com>
Hi,
On Wed, 4 Jul 2018 15:53:36 +0200 Michael Trimarchi wrote:
> We need to address the redundat image case and undestand if the
> image is corrupted or not and fallback to the copy. The function
> used before was always return 0 without any evaluation of the
> error. We try to make it work properly
>
> Change-Id: Id6fc221c5cc08934b7324dd5d319b93c56e2e678
> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
> ---
> common/spl/spl_nand.c | 34 +++++++++++++++++++++++++---------
> 1 file changed, 25 insertions(+), 9 deletions(-)
>
> diff --git a/common/spl/spl_nand.c b/common/spl/spl_nand.c
> index 9a52500..b96fce2 100644
> --- a/common/spl/spl_nand.c
> +++ b/common/spl/spl_nand.c
> @@ -44,9 +44,7 @@ static int spl_nand_load_element(struct spl_image_info *spl_image,
> {
> int err;
>
> - err = nand_spl_load_image(offset, sizeof(*header), (void *)header);
> - if (err)
> - return err;
> + nand_spl_load_image(offset, sizeof(*header), (void *)header);
>
> if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) &&
> image_get_magic(header) == FDT_MAGIC) {
> @@ -59,13 +57,31 @@ static int spl_nand_load_element(struct spl_image_info *spl_image,
> load.bl_len = 1;
> load.read = spl_nand_fit_read;
> return spl_load_simple_fit(spl_image, &load, offset, header);
> - } else {
> - err = spl_parse_image_header(spl_image, header);
> - if (err)
> - return err;
> - return nand_spl_load_image(offset, spl_image->size,
> - (void *)(ulong)spl_image->load_addr);
> }
> + err = spl_parse_image_header(spl_image, header);
> + if (err)
> + return err;
> +
> + nand_spl_load_image(offset, spl_image->size,
> + (void *)(ulong)spl_image->load_addr);
> +
> + /*
> + * Logic of the error is inverted for image_check* functions.
> + * We want to verify that header is correct and the data are correct
> + * for LEGACY image type
> + */
> + err = image_check_hcrc((const image_header_t *)spl_image->load_addr);
> + if (!err) {
>
Why not simply:
if (!image_check_hcrc(...) {
> + debug("Header checksum failed\n");
> + return -EINVAL;
> + }
> + err = image_check_dcrc((const image_header_t *)spl_image->load_addr);
> + if (!err) {
>
dto.
> + debug("Image checksum failed\n");
> + return -EINVAL;
> + }
> +
> + return 0;
> }
>
> static int spl_nand_load_image(struct spl_image_info *spl_image,
Lothar Waßmann
next prev parent reply other threads:[~2018-07-04 14:19 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-04 13:53 [U-Boot] [PATCH 1/2] spl: Fix redundant image of uboot Michael Trimarchi
2018-07-04 13:53 ` [U-Boot] [PATCH 2/2] spl: Make the spl_nand_load_image static Michael Trimarchi
2018-07-20 22:34 ` [U-Boot] [U-Boot,2/2] " Tom Rini
2018-07-04 14:19 ` Lothar Waßmann [this message]
2018-07-04 14:27 ` [U-Boot] [PATCH 1/2] spl: Fix redundant image of uboot Michael Nazzareno Trimarchi
2018-07-04 15:10 ` Lothar Waßmann
2018-07-04 15:12 ` Michael Nazzareno Trimarchi
2018-07-06 6:08 ` [U-Boot] [PATCH V2 " Michael Trimarchi
2018-07-06 15:09 ` [U-Boot] [PATCH V3 " Michael Trimarchi
2018-07-11 11:37 ` Michael Nazzareno Trimarchi
2018-07-11 12:16 ` Lothar Waßmann
2018-07-20 19:54 ` [U-Boot] [U-Boot,V3,1/2] " Tom Rini
2018-07-20 20:09 ` Michael Nazzareno Trimarchi
2018-07-20 20:11 ` Tom Rini
2018-07-20 20:27 ` Michael Nazzareno Trimarchi
2018-07-20 20:56 ` Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180704161918.601e8f93@karo-electronics.de \
--to=lw@karo-electronics.de \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.