Re: [U-Boot] [PATCH 1/2] spl: Fix redundant image of uboot

2018-07-04 Thread Michael Nazzareno Trimarchi
Hi

On Wed, Jul 4, 2018 at 5:10 PM, Lothar Waßmann  wrote:
> Michael Nazzareno Trimarchi  wrote:
>
>> Hi
>>
>> On Wed, Jul 4, 2018 at 4:19 PM, Lothar Waßmann  
>> wrote:
>> > 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 
>> >> ---
>> >>  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, , 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.
>>
>> Just because I want to be in the style of this file ;)
>>
> In other places the 'err' variable is used as return value.
> If you don't need it for that, it's vain to assign a value to it.
>

Let me collect all the comments and I will follow your suggestion on next post

Michael

>
> Lothar Waßmann
> --
> ___
>
> Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen
> Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
> Geschäftsführer: Matthias Kaussen
> Handelsregistereintrag: Amtsgericht Aachen, HRB 4996
>
> www.karo-electronics.de | i...@karo-electronics.de
> ___



-- 
| Michael Nazzareno Trimarchi Amarula Solutions BV |
| COO  -  Founder  Cruquiuskade 47 |
| +31(0)851119172 Amsterdam 1018 AM NL |
|  [`as] http://www.amarulasolutions.com   |
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] spl: Fix redundant image of uboot

2018-07-04 Thread Lothar Waßmann
Michael Nazzareno Trimarchi  wrote:

> Hi
> 
> On Wed, Jul 4, 2018 at 4:19 PM, Lothar Waßmann  
> wrote:
> > 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 
> >> ---
> >>  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, , 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.
> 
> Just because I want to be in the style of this file ;)
> 
In other places the 'err' variable is used as return value.
If you don't need it for that, it's vain to assign a value to it.


Lothar Waßmann
-- 
___

Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Geschäftsführer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996

www.karo-electronics.de | i...@karo-electronics.de
___
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] spl: Fix redundant image of uboot

2018-07-04 Thread Michael Nazzareno Trimarchi
Hi

On Wed, Jul 4, 2018 at 4:19 PM, Lothar Waßmann  wrote:
> 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 
>> ---
>>  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, , 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.

Just because I want to be in the style of this file ;)

Michael

>
>> + debug("Image checksum failed\n");
>> + return -EINVAL;
>> + }
>> +
>> + return 0;
>>  }
>>
>>  static int spl_nand_load_image(struct spl_image_info *spl_image,
>
>
> Lothar Waßmann



-- 
| Michael Nazzareno Trimarchi Amarula Solutions BV |
| COO  -  Founder  Cruquiuskade 47 |
| +31(0)851119172 Amsterdam 1018 AM NL |
|  [`as] http://www.amarulasolutions.com   |
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] spl: Fix redundant image of uboot

2018-07-04 Thread Lothar Waßmann
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 
> ---
>  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, , 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
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot