Should be IB_MCAST_POSITION_MAX + 1 rather than just IB_MCAST_POSITION_MAX
Signed-off-by: Hal Rosenstock <[email protected]> --- diff --git a/opensm/include/opensm/osm_mcast_tbl.h b/opensm/include/opensm/osm_mcast_tbl.h index 6d3f083..0745b5b 100644 --- a/opensm/include/opensm/osm_mcast_tbl.h +++ b/opensm/include/opensm/osm_mcast_tbl.h @@ -76,7 +76,7 @@ typedef struct osm_mcast_fwdbl { uint16_t num_entries; uint16_t max_mlid_ho; uint16_t mft_depth; - uint16_t(*p_mask_tbl)[][IB_MCAST_POSITION_MAX]; + uint16_t(*p_mask_tbl)[][IB_MCAST_POSITION_MAX + 1]; } osm_mcast_tbl_t; /* * FIELDS @@ -106,7 +106,7 @@ typedef struct osm_mcast_fwdbl { * * p_mask_tbl * Pointer to a two dimensional array of port_masks for this switch. -* The first dimension is MLID, the second dimension is mask position. +* The first dimension is MLID offset, second dimension is mask position. * This pointer is null for switches that do not support multicast. * * SEE ALSO diff --git a/opensm/opensm/osm_mcast_tbl.c b/opensm/opensm/osm_mcast_tbl.c index 818f2e0..c2c5395 100644 --- a/opensm/opensm/osm_mcast_tbl.c +++ b/opensm/opensm/osm_mcast_tbl.c @@ -119,7 +119,7 @@ void osm_mcast_tbl_set(IN osm_mcast_tbl_t * p_tbl, IN uint16_t mlid_ho, int osm_mcast_tbl_realloc(IN osm_mcast_tbl_t * p_tbl, IN uintn_t mlid_offset) { size_t mft_depth, size; - uint16_t (*p_mask_tbl)[][IB_MCAST_POSITION_MAX]; + uint16_t (*p_mask_tbl)[][IB_MCAST_POSITION_MAX + 1]; if (mlid_offset < p_tbl->mft_depth) goto done; -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
