[ofa-general] [PATCH 1/2] osm_port.c: check if op_vls = 0 before max_op_vls comparison

Doron Shoham dorons at voltaire.com
Thu May 7 08:54:36 PDT 2009


check if op_vls = 0 before max_op_vls comparison

Signed-off-by: Doron Shoham <dorons at voltaire.com>
---
 opensm/opensm/osm_port.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/opensm/opensm/osm_port.c b/opensm/opensm/osm_port.c
index 2e6c642..4d1bbf2 100644
--- a/opensm/opensm/osm_port.c
+++ b/opensm/opensm/osm_port.c
@@ -376,15 +376,16 @@ uint8_t osm_physp_calc_link_op_vls(IN osm_log_t * p_log,
 	} else
 		op_vls = ib_port_info_get_op_vls(&p_physp->port_info);
 
-	/* support user limitation of max_op_vls */
-	if (op_vls > p_subn->opt.max_op_vls)
-		op_vls = p_subn->opt.max_op_vls;
-
 	if (op_vls == 0) {
+		/* for non compliant implementations */	
 		OSM_LOG(p_log, OSM_LOG_DEBUG, "ERR 4102: "
 			"Invalid OP_VLS = 0. Forcing correction to 1 (VL0)\n");
 		op_vls = 1;
 	}
+	/* support user limitation of max_op_vls */
+	if (op_vls > p_subn->opt.max_op_vls)
+		op_vls = p_subn->opt.max_op_vls;
+
 
 	OSM_LOG_EXIT(p_log);
 	return op_vls;
-- 
1.5.4





More information about the general mailing list