lash's num_mst_in_lane array is indexed by lane nuber, not by switch index. Since it's a small number, get rid of extra memory allocation.
Signed-off-by: Robert Pearson <rpear...@systemfabricworks.com> Signed-off-by: Hal Rosenstock <hal.rosenst...@gmail.com> --- Changes since v1: Fixed memset in init_lash_structures pointed out by Diego Guella <diego.gue...@sircomtech.com> diff --git a/opensm/include/opensm/osm_ucast_lash.h b/opensm/include/opensm/osm_ucast_lash.h index f48ea33..98034cc 100644 --- a/opensm/include/opensm/osm_ucast_lash.h +++ b/opensm/include/opensm/osm_ucast_lash.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008 System Fabric Works, Inc. + * Copyright (c) 2008,2009 System Fabric Works, Inc. All rights reserved. * Copyright (c) 2004-2007 Voltaire, Inc. All rights reserved. * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved. * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. @@ -90,7 +90,7 @@ typedef struct _lash { int balance_limit; switch_t **switches; cdg_vertex_t ****cdg_vertex_matrix; - int *num_mst_in_lane; + int num_mst_in_lane[IB_MAX_NUM_VLS]; int ***virtual_location; } lash_t; diff --git a/opensm/opensm/osm_ucast_lash.c b/opensm/opensm/osm_ucast_lash.c index a987eb3..5913434 100644 --- a/opensm/opensm/osm_ucast_lash.c +++ b/opensm/opensm/osm_ucast_lash.c @@ -4,6 +4,7 @@ * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. * Copyright (c) 2007 Simula Research Laboratory. All rights reserved. * Copyright (c) 2007 Silicon Graphics Inc. All rights reserved. + * Copyright (c) 2008,2009 System Fabric Works, Inc. All rights reserved. * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU @@ -707,9 +708,6 @@ static void free_lash_structures(lash_t * p_lash) if (p_lash->virtual_location) free(p_lash->virtual_location); - if (p_lash->num_mst_in_lane) - free(p_lash->num_mst_in_lane); - OSM_LOG_EXIT(p_log); } @@ -778,11 +776,8 @@ static int init_lash_structures(lash_t * p_lash) } /* initialise num_mst_in_lane[num_switches], default 0 */ - p_lash->num_mst_in_lane = (int *)malloc(num_switches * sizeof(int)); - if (p_lash->num_mst_in_lane == NULL) - goto Exit_Mem_Error; memset(p_lash->num_mst_in_lane, 0, - num_switches * sizeof(p_lash->num_mst_in_lane[0])); + IB_MAX_NUM_VLS * sizeof(p_lash->num_mst_in_lane[0])); goto Exit; _______________________________________________ general mailing list general@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general