[U-Boot-Users] [PATCH 1/2] Fix warning differ in signedness on NetSetTimeout in net/net.c and net/nfs.c

Wolfgang Denk wd at denx.de
Sat Nov 17 00:26:10 CET 2007


In message <1194419961-21822-2-git-send-email-plagnioj at jcrosoft.com> you wrote:
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> 
> diff --git a/net/net.c b/net/net.c
> index cde2680..f3c70c5 100644
> --- a/net/net.c
> +++ b/net/net.c
> @@ -598,7 +598,7 @@ void NetStartAgain (void)
>  	if (NetRestartWrap) {
>  		NetRestartWrap = 0;
>  		if (NetDevExists && !once) {
> -			NetSetTimeout (10 * CFG_HZ, startAgainTimeout);
> +			NetSetTimeout ((ulong)10 * CFG_HZ, startAgainTimeout);
>  			NetSetHandler (startAgainHandler);
>  		} else {
>  			NetState = NETLOOP_FAIL;

This doesn't look right to me.

Instead of "(ulong)10 * CFG_HZ" we should probably write "10UL * CFG_HZ"

And, why do we cast the first operand to "ulong" - and not the second
one, or the second one, too, or the result?

Finally, this is not the only place where this construct is used:

-> grep -n CFG_HZ net/net.c
253:    if ((t - NetArpWaitTimerStart) > ARP_TIMEOUT * CFG_HZ) {
592:    NetSetTimeout (10 * CFG_HZ, startAgainTimeout);
601:                    NetSetTimeout (10 * CFG_HZ, startAgainTimeout);
777:    NetSetTimeout (10 * CFG_HZ, PingTimeout);
800:#define CDP_TIMEOUT                 (CFG_HZ/4)      /* one packet every 250ms */

> diff --git a/net/nfs.c b/net/nfs.c
> index 1b27c97..18b00cc 100644
> --- a/net/nfs.c
> +++ b/net/nfs.c
> @@ -669,7 +669,7 @@ NfsHandler (uchar *pkt, unsigned dest, unsigned src, unsigned len)
>  
>  	case STATE_READ_REQ:
>  		rlen = nfs_read_reply (pkt, len);
> -		NetSetTimeout (NFS_TIMEOUT * CFG_HZ, NfsTimeout);
> +		NetSetTimeout ((ulong)NFS_TIMEOUT * CFG_HZ, NfsTimeout);
>  		if (rlen > 0) {
>  			nfs_offset += rlen;
>  			NfsSend ();
> @@ -758,7 +758,7 @@ NfsStart (void)
>  	printf ("\nLoad address: 0x%lx\n"
>  		"Loading: *\b", load_addr);
>  
> -	NetSetTimeout (NFS_TIMEOUT * CFG_HZ, NfsTimeout);
> +	NetSetTimeout ((ulong)NFS_TIMEOUT * CFG_HZ, NfsTimeout);
>  	NetSetHandler (NfsHandler);
>  
>  	NfsTimeoutCount = 0;

The first two questions from above apply here, too.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Status quo. Latin for "the mess we're in."




More information about the U-Boot mailing list