Skip to contentSkip to conversation

opensm/osm_vendor_ibumad: Use OSM_UMAD_MAX_AGENTS rather than UMAD_CA_MAX_AGENTS

PATCH Applied Hal Rosenstock 2 participants 2 messages Oct 22, 2009 – Oct 30, 2009 1 message not in the archive InfiniBand

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 opensm/osm_vendor_ibumad: Use OSM_UMAD_MAX_AGENTS rather than UMAD_CA_MAX_AGENTS

This define controls an array in the OpenSM umad vendor layer. Moving this define to the vendor layer aids in Windows porting. See thread which "ends" with:
http://lists.openfabrics.org/pipermail/ofw/2009-October/005819.html

---
Changes since v1:
Added patch description

opensm/include/vendor/osm_vendor_ibumad.h +3 -1
index e346a2e..f3a48e5 100644
@@ -66,6 +66,8 @@ BEGIN_C_DECLS
 #define OSM_DEFAULT_RETRY_COUNT 3
 #define OSM_UMAD_MAX_CAS	32
 #define OSM_UMAD_MAX_PORTS_PER_CA	2
+#define OSM_UMAD_MAX_AGENTS	32
+
 /****s* OpenSM: Vendor UMAD/osm_ca_info_t
 * NAME
 *   osm_ca_info_t
@@ -154,7 +156,7 @@ typedef struct _osm_vendor {
 	osm_ca_info_t *p_ca_info;
 	uint32_t timeout;
 	int max_retries;
-	osm_bind_handle_t agents[UMAD_CA_MAX_AGENTS];
+	osm_bind_handle_t agents[OSM_UMAD_MAX_AGENTS];
 	char ca_names[OSM_UMAD_MAX_CAS][UMAD_CA_NAME_LEN];
 	vendor_match_tbl_t mtbl;
 	umad_port_t umad_port;
opensm/libvendor/osm_vendor_ibumad.c +4 -4
index 8d3c680..b221335 100644
@@ -288,7 +288,7 @@ static void *umad_receiver(void *p_ptr)
 			}
 		}
 
-		if (mad_agent >= UMAD_CA_MAX_AGENTS ||
+		if (mad_agent >= OSM_UMAD_MAX_AGENTS ||
 		    !(p_bind = p_vend->agents[mad_agent])) {
 			OSM_LOG(p_ur->p_log, OSM_LOG_ERROR, "ERR 5407: "
 				"invalid mad agent %d - dropping\n", mad_agent);
@@ -738,7 +738,7 @@ static void osm_vendor_close_port(osm_vendor_t * const p_vend)
 	}
 
 	if (p_vend->umad_port_id >= 0) {
-		for (i = 0; i < UMAD_CA_MAX_AGENTS; i++)
+		for (i = 0; i < OSM_UMAD_MAX_AGENTS; i++)
 			if (p_vend->agents[i])
 				umad_unregister(p_vend->umad_port_id, i);
 		umad_close_port(p_vend->umad_port_id);
@@ -862,7 +862,7 @@ osm_vendor_bind(IN osm_vendor_t * const p_vend,
 		goto Exit;
 	}
 
-	if (p_bind->agent_id >= UMAD_CA_MAX_AGENTS ||
+	if (p_bind->agent_id >= OSM_UMAD_MAX_AGENTS ||
 	    p_vend->agents[p_bind->agent_id]) {
 		OSM_LOG(p_vend->p_log, OSM_LOG_ERROR, "ERR 5427: "
 			"bad agent id %u or duplicate agent for class %u vers %u\n",
@@ -890,7 +890,7 @@ osm_vendor_bind(IN osm_vendor_t * const p_vend,
 			goto Exit;
 		}
 
-		if (p_bind->agent_id1 >= UMAD_CA_MAX_AGENTS ||
+		if (p_bind->agent_id1 >= OSM_UMAD_MAX_AGENTS ||
 		    p_vend->agents[p_bind->agent_id1]) {
 			OSM_LOG(p_vend->p_log, OSM_LOG_ERROR, "ERR 5429: "
 				"bad agent id %u or duplicate agent for class 1 vers %u\n",

--
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

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 7 lines · Hal Rosenstock

This define controls an array in the OpenSM umad vendor layer. Moving this define to the vendor layer aids in Windows porting. See thread which "ends" with:
http://lists.openfabrics.org/pipermail/ofw/2009-October/005819.html

Applied. Thanks.

Sasha
--
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