Yevgeny Kliteynik wrote:
Hi Nicolas,
Nicolas Morey Chaisemartin wrote:
We have to add the module value to the index before actually doing
the module, or we get a value of -1 which makes OpenSM segfaults
Signed-off-by: Nicolas Morey-Chaisemartin
<[email protected]>
---
I missed this one in my previous patch. Sorry for that
opensm/opensm/osm_ucast_ftree.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/opensm/opensm/osm_ucast_ftree.c
b/opensm/opensm/osm_ucast_ftree.c
index 4e65c87..c8f5f08 100644
--- a/opensm/opensm/osm_ucast_ftree.c
+++ b/opensm/opensm/osm_ucast_ftree.c
@@ -1921,7 +1921,8 @@
__osm_ftree_fabric_route_upgoing_by_going_down(IN ftree_fabric_t *
p_ftree,
return FALSE;
/* foreach down-going port group (in indexing order) */
- i = p_sw->down_port_groups_idx;
+ i = (p_sw->down_port_groups_idx +
+ p_sw->down_port_groups_num) % p_sw->down_port_groups_num;
Perhaps it would be simpler just to init the down_port_groups_idx to 0
instead of -1?
Something like this:
diff --git a/opensm/opensm/osm_ucast_ftree.c
b/opensm/opensm/osm_ucast_ftree.c
index 4e65c87..eae1ed8 100644
--- a/opensm/opensm/osm_ucast_ftree.c
+++ b/opensm/opensm/osm_ucast_ftree.c
@@ -563,7 +563,7 @@ static ftree_sw_t *__osm_ftree_sw_create(IN
ftree_fabric_t * p_ftree,
/* initialize lft buffer */
memset(p_osm_sw->new_lft, OSM_NO_PATH, IB_LID_UCAST_END_HO + 1);
- p_sw->down_port_groups_idx = -1;
+ p_sw->down_port_groups_idx = 0;
return p_sw;
} /* __osm_ftree_sw_create() */
Sure. I wanted to ensure that whatever happens to the index it would
always be in the right interval but after checking I doubt anything else
than initialization could set it outside its normal interval.
Do you want me to make the patch and send it or will you just push yours?
Nicolas
_______________________________________________
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