[ofw] [PATCH] libibmad: Fix build on win8

Ira Weiny weiny2 at llnl.gov
Thu Aug 18 18:00:40 PDT 2011


On Thu, 18 Aug 2011 09:46:49 -0700
"Hefty, Sean" <sean.hefty at intel.com> wrote:

> The win8 compiler appears to be even more brain dead than its
> predecessor.  It complains of an uninitialized variable mad in
> rpc.c around line 213.  Fix this by removing the redirect
> variable and using while (1) / break instead.
> 
> Problem was reported by Leonid Keller <leonid at mellanox.co.il>
> 
> Signed-off-by: Sean Hefty <sean.hefty at intel.com>
> Reviewed-by: Hal Rosenstock <hal at mellanox.com>

Thanks applied,
Ira

> ---
>  src/rpc.c |    9 ++++-----
>  1 files changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/src/rpc.c b/src/rpc.c
> index d20c321..19a5a70 100644
> --- a/src/rpc.c
> +++ b/src/rpc.c
> @@ -213,13 +213,12 @@ void *mad_rpc(const struct ibmad_port *port, ib_rpc_t * rpc,
>  {
>  	int status, len;
>  	uint8_t sndbuf[1024], rcvbuf[1024], *mad;
> -	int redirect = 1;
>  	ib_rpc_v1_t *rpcv1 = (ib_rpc_v1_t *)rpc;
>  	int error = 0;
>  
>  	if ((rpc->mgtclass & IB_MAD_RPC_VERSION_MASK) == IB_MAD_RPC_VERSION1)
>  		rpcv1->error = 0;
> -	while (redirect) {
> +	do {
>  		len = 0;
>  		memset(sndbuf, 0, umad_size() + IB_MAD_SIZE);
>  
> @@ -247,10 +246,10 @@ void *mad_rpc(const struct ibmad_port *port, ib_rpc_t * rpc,
>  			/* update dport for next request and retry */
>  			/* bail if redirection fails */
>  			if (redirect_port(dport, mad))
> -				redirect = 0;
> +				break;
>  		} else
> -			redirect = 0;
> -	}
> +			break;
> +	} while (1);
>  
>  	if ((rpc->mgtclass & IB_MAD_RPC_VERSION_MASK) == IB_MAD_RPC_VERSION1)
>  		rpcv1->error = error;
> 
> 


-- 
Ira Weiny
Math Programmer/Computer Scientist
Lawrence Livermore National Lab
925-423-8008
weiny2 at llnl.gov



More information about the ofw mailing list