Re: [PATCH v3] nvmem: u-boot-env: align endianness of crc32 values

From: Christian Lamparter
Date: Sun Feb 19 2023 - 07:36:15 EST


Hi Hiroshi,
On 2/19/23 05:45, Hiroshi wrote:
On 2023/02/18 2:30, Christian Lamparter wrote:
On 2/13/23 14:37, Rafał Miłecki wrote:
On 2023-02-13 14:23, INAGAKI Hiroshi wrote:
This patch fixes crc32 error on Big-Endianness system by conversion of
calculated crc32 value.

Little-Endianness system:

  obtained crc32: Little
calculated crc32: Little

Big-Endianness system:

  obtained crc32: Little
calculated crc32: Big

log (APRESIA ApresiaLightGS120GT-SS, RTL8382M, Big-Endianness):

[    8.570000] u_boot_env
18001200.spi:flash@0:partitions:partition@c0000: Invalid calculated
CRC32: 0x88cd6f09 (expected: 0x096fcd88)
[    8.580000] u_boot_env: probe of
18001200.spi:flash@0:partitions:partition@c0000 failed with error -22

Fixes: f955dc144506 ("nvmem: add driver handling U-Boot environment variables")

Signed-off-by: INAGAKI Hiroshi <musashino.open@xxxxxxxxx>
---
Hmm, this is strange. The kernel's u-boot-env driver works without any
additional changes in the le<->be department on the Big-Endian
PowerPC APM82181 WD MyBook Live NAS.

Is there something odd going on with the WD MyBook Live, or is it
the APRESIA ApresiaLightGS120GT-SS that is special?


This additional changes are for resolving sparse warnings. Of course it's working fine on my device with the previous changes, but due to the warning
it wasn't merged into the mainline and needs to be resolved.

Oh, yes. This could be why! I was wondering why any additional endian related
changes would be necessary. But no, they are not. This is the patch from
October/November last year.

I now remember '[Patch v2] nvmem: u-boot-env: align endianness of crc32 values' too
<https://lore.kernel.org/lkml/e7ebabf9-a7b2-6155-cdd0-5dafb6bb2a7a@xxxxxxxxxxxxxxxxxxxx/T/>
and back then I provided a tested-by tag as well. So there's no difference between
the APRESIA ApresiaLightGS120GT-SS and WD MyBook Live. Both will need this patch.

Cheers,
Christian