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]>
---
 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;


_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to