Patchwork [U-Boot] Fix: if using crc32 command watchdog timed out

login
register
mail settings
Submitter esw@bus-elektronik.de
Date July 5, 2011, 7:26 a.m.
Message ID <4E12BC93.1000108@bus-elektronik.de>
Download mbox | patch
Permalink /patch/103205/
State Superseded
Headers show

Comments

esw@bus-elektronik.de - July 5, 2011, 7:26 a.m.
* Fix: if using crc32 command watchdog timed out


Signed-off-by: Jens Scharsig <esw@bus-elektronik.de>
---
 common/cmd_mem.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

 			addr, addr + length - 1, crc);
@@ -1137,7 +1137,7 @@ usage:
 	addr += base_address;
 	length = simple_strtoul(*av++, NULL, 16);

-	crc = crc32(0, (const uchar *) addr, length);
+	crc = crc32_wd(0, (const uchar *) addr, length, CHUNKSZ_CRC32);

 	if (!verify) {
 		printf ("CRC32 for %08lx ... %08lx ==> %08lx\n",
Albert ARIBAUD - July 16, 2011, 9:53 a.m.
Hi Jens,

Le 05/07/2011 09:26, Jens Scharsig a écrit :

> * Fix: if using crc32 command watchdog timed out
>
>
> Signed-off-by: Jens Scharsig<esw@bus-elektronik.de>
> ---

Nitpick: in addition to describing which issue the patch fixes, can you 
describe how it fixes it?

Amicalement,
Jens Scharsig - July 17, 2011, 6:25 a.m.
Hello,
Am 2011-07-16 11:53, schrieb Albert ARIBAUD:
> Hi Jens,
> 
> Le 05/07/2011 09:26, Jens Scharsig a écrit :
> 
>> * Fix: if using crc32 command watchdog timed out
>>
>>
>> Signed-off-by: Jens Scharsig<esw@bus-elektronik.de>
>> ---
> 
> Nitpick: in addition to describing which issue the patch fixes, can you 
> describe how it fixes it?

If your board is using a watchdog and you try to calculate/check a CRC2
with crc32 command, the watchdog timed out on large data blocks.
The commands around uboot-images also uses crc32, but don't time out.
The difference between:

CRC32 command calls the the crc32 function and the"image" commands
crc32_wd (i think _wd stands for watchdog). So this patch changes the
the function call from crc32 to crc_32 to support watchdog reset in  the
same way as "image" commands.

Best regards

Jens
Albert ARIBAUD - July 17, 2011, 9:18 a.m.
Hi Jens,

Le 17/07/2011 08:25, Jens Scharsig a écrit :
> Hello,
> Am 2011-07-16 11:53, schrieb Albert ARIBAUD:
>> Hi Jens,
>>
>> Le 05/07/2011 09:26, Jens Scharsig a écrit :
>>
>>> * Fix: if using crc32 command watchdog timed out
>>>
>>>
>>> Signed-off-by: Jens Scharsig<esw@bus-elektronik.de>
>>> ---
>>
>> Nitpick: in addition to describing which issue the patch fixes, can you
>> describe how it fixes it?
>
> If your board is using a watchdog and you try to calculate/check a CRC2
> with crc32 command, the watchdog timed out on large data blocks.
> The commands around uboot-images also uses crc32, but don't time out.
> The difference between:
>
> CRC32 command calls the the crc32 function and the"image" commands
> crc32_wd (i think _wd stands for watchdog). So this patch changes the
> the function call from crc32 to crc_32 to support watchdog reset in  the
> same way as "image" commands.

Sorry, I meant: describe what the fix does in the commit message, not on 
the list.

Generally, a patch commit message should always describe what the patch 
does.

> Best regards
>
> Jens

Amicalement,

Patch

diff --git a/common/cmd_mem.c b/common/cmd_mem.c
index a5576aa..4daa1b3 100644
--- a/common/cmd_mem.c
+++ b/common/cmd_mem.c
@@ -1092,7 +1092,7 @@  int do_mem_crc (cmd_tbl_t *cmdtp, int flag, int
argc, char * const argv[])

 	length = simple_strtoul (argv[2], NULL, 16);

-	crc = crc32 (0, (const uchar *) addr, length);
+	crc = crc32_wd(0, (const uchar *) addr, length, CHUNKSZ_CRC32);

 	printf ("CRC32 for %08lx ... %08lx ==> %08lx\n",