Move p_node->print_desc setup under section where p_node is initialized.
Actually it reverses p_node allocation and setup flow in order to
simplify the code.

Signed-off-by: Sasha Khapyorsky <[EMAIL PROTECTED]>
---
 opensm/opensm/osm_node.c |   39 ++++++++++++++++++++-------------------
 1 files changed, 20 insertions(+), 19 deletions(-)

diff --git a/opensm/opensm/osm_node.c b/opensm/opensm/osm_node.c
index 76f4407..39f4181 100644
--- a/opensm/opensm/osm_node.c
+++ b/opensm/opensm/osm_node.c
@@ -112,25 +112,26 @@ osm_node_t *osm_node_new(IN const osm_madw_t * const 
p_madw)
        size = p_ni->num_ports;
 
        p_node = malloc(sizeof(*p_node) + sizeof(osm_physp_t) * size);
-       if (p_node != NULL) {
-               memset(p_node, 0, sizeof(*p_node) + sizeof(osm_physp_t) * size);
-               p_node->node_info = *p_ni;
-               p_node->physp_tbl_size = size + 1;
-
-               /*
-                  Construct Physical Port objects owned by this Node.
-                  Then, initialize the Physical Port through with we
-                  discovered this port.
-                  For switches, all ports have the same GUID.
-                  For CAs and routers, each port has a different GUID, so we 
only
-                  know the GUID for the port that responded to our
-                  Get(NodeInfo).
-                */
-               for (i = 0; i < p_node->physp_tbl_size; i++)
-                       osm_physp_construct(&p_node->physp_table[i]);
-
-               osm_node_init_physp(p_node, p_madw);
-       }
+       if (!p_node)
+               return NULL;
+
+       memset(p_node, 0, sizeof(*p_node) + sizeof(osm_physp_t) * size);
+       p_node->node_info = *p_ni;
+       p_node->physp_tbl_size = size + 1;
+
+       /*
+          Construct Physical Port objects owned by this Node.
+          Then, initialize the Physical Port through with we
+          discovered this port.
+          For switches, all ports have the same GUID.
+          For CAs and routers, each port has a different GUID, so we only
+          know the GUID for the port that responded to our
+          Get(NodeInfo).
+        */
+       for (i = 0; i < p_node->physp_tbl_size; i++)
+               osm_physp_construct(&p_node->physp_table[i]);
+
+       osm_node_init_physp(p_node, p_madw);
        p_node->print_desc = strdup("<unknown>");
 
        return (p_node);
-- 
1.5.3.4.206.g58ba4

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

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to