st_lookup() returned node in the p_node pointer and replaced
the node that was intended to be inserted into the queue,
which caused infinite loop.
Besides, if st_lookup() does finds an element in the hash,
we're only interested to know that it did - don't need the
actual element.

Please apply to ofed_1_3 and master.

Signed-off-by: Yevgeny Kliteynik <[EMAIL PROTECTED]>
---
 opensm/opensm/osm_qos_policy.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/opensm/opensm/osm_qos_policy.c b/opensm/opensm/osm_qos_policy.c
index 6140de0..bde1e7e 100644
--- a/opensm/opensm/osm_qos_policy.c
+++ b/opensm/opensm/osm_qos_policy.c
@@ -77,8 +77,7 @@ __build_nodebyname_hash(osm_qos_policy_t * p_qos_policy)
             p_node != (osm_node_t *) cl_qmap_end(p_node_guid_tbl);
             p_node = (osm_node_t *) cl_qmap_next(&p_node->map_item)) {
                if (!st_lookup(p_qos_policy->p_node_hash,
-                             (st_data_t)p_node->print_desc,
-                             (st_data_t*)&p_node))
+                             (st_data_t)p_node->print_desc, NULL))
                        st_insert(p_qos_policy->p_node_hash,
                                  (st_data_t)p_node->print_desc,
                                  (st_data_t)p_node);
-- 
1.5.1.4

_______________________________________________
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