[U-Boot] [PATCH] env: fix endian ordering in crc table

Joakim Tjernlund joakim.tjernlund at transmode.se
Thu Mar 18 07:55:21 CET 2010


Jeff Angielski <jeff at theptrgroup.com> wrote on 2010/03/18 02:14:19:

> From: Jeff Angielski <jeff at theptrgroup.com>
> To: u-boot at lists.denx.de
> Cc: Joakim Tjernlund <joakim.tjernlund at transmode.se>
> Date: 2010/03/18 02:14
> Subject: [PATCH] env: fix endian ordering in crc table
>
>
> The crc table was being built as little endian for big endian
> targets.  This would cause fw_printenv to always fail with
> "Warning: Bad CRC, using default environment" messages.
>
> Signed-off-by: Jeff Angielski <jeff at theptrgroup.com>

Acked-by: Joakim Tjernlund <Joakim.Tjernlund at transmode.se>

> ---
>   lib_generic/crc32.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/lib_generic/crc32.c b/lib_generic/crc32.c
> index 468b397..27335a3 100644
> --- a/lib_generic/crc32.c
> +++ b/lib_generic/crc32.c
> @@ -163,7 +163,7 @@ const uint32_t * ZEXPORT get_crc_table()
>   #endif
>
>   /*
> ========================================================================= */
> -# ifdef __LITTLE_ENDIAN
> +# if __BYTE_ORDER == __LITTLE_ENDIAN
>   #  define DO_CRC(x) crc = tab[(crc ^ (x)) & 255] ^ (crc >> 8)
>   # else
>   #  define DO_CRC(x) crc = tab[((crc >> 24) ^ (x)) & 255] ^ (crc << 8)
> --
> 1.6.3.3
>
> --
> Jeff Angielski
> The PTR Group
> www.theptrgroup.com
>



More information about the U-Boot mailing list