On Thu, 18 Aug 2011 09:46:49 -0700 "Hefty, Sean" <[email protected]> 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 <[email protected]> > > Signed-off-by: Sean Hefty <[email protected]> > Reviewed-by: Hal Rosenstock <[email protected]> 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 [email protected] _______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
