Version: 1
-Previous: 36ac5decfdbd8f0f0f40aa7a9c6cb5453a4842c5
-Head: 57acbbf3e41cc93221bc04f893e07990c041954a
+Previous: d0786b872b40ec535727a63f279a9bffedb305b3
+Head: 17bd46b81305abf8b61237268d5b0302c9e7df1a
Applied:
addr_open: 1fd2bfd86e2e2fe78f9d5d6d39aa5502938923f0
open_dev: 4687a6571146acd8d9a1553a96e2e4f7e8318761
sm_lid: eb7c2092cc0a44cf84428c536c9dd65da97b8069
sm_lid_get: dc8017769d3dfcbd85ae7ec037c871ac476a4c2d
port_up: 7ea34e7a00a48f8d8a60cd20bc90d0022446aa77
- port_down: 6771236464c6323c23c53c8363ef44601410ba64
- refresh-temp: 57acbbf3e41cc93221bc04f893e07990c041954a
+ port_down: 17bd46b81305abf8b61237268d5b0302c9e7df1a
Unapplied:
dbg: b911e84d3489a4d3b1b335e90404808c2530050a
addr_size: 8de02c47fbf595132105a7050ad6f755f49f9a7a
Bottom: 4ec4c78d77d1a28a8bde09ae6c4e23021649ebc5
-Top: e238f548acea16708f86fef667cd63ac67f1346f
+Top: 62dbb2354715c4271bec2ddff921c429bc57d05e
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2011-02-23 14:41:48 -0800
---
diff --git a/src/acm.c b/src/acm.c
-index dcd58c0..e13d1f2 100644
+index dcd58c0..2b60013 100644
--- a/src/acm.c
+++ b/src/acm.c
@@ -378,6 +378,27 @@ acm_acquire_dest(struct acm_ep *ep, uint8_t addr_type, uint8_t *addr)
}
static uint8_t
+@@ -1463,7 +1495,7 @@ static void acm_join_group(struct acm_ep *ep, union ibv_gid *port_gid,
+ mad = (struct ib_sa_mad *) umad->data;
+ acm_init_join(mad, port_gid, ep->pkey, tos, tclass, sl, rate, mtu);
+ mc_rec = (struct ib_mc_member_rec *) mad->data;
+- acm_init_dest(&ep->mc_dest[ep->mc_cnt++], ACM_ADDRESS_GID,
++ acm_set_dest_addr(&ep->mc_dest[ep->mc_cnt++], ACM_ADDRESS_GID,
+ mc_rec->mgid.raw, sizeof(mc_rec->mgid));
+
+ ret = umad_send(port->mad_portid, port->mad_agentid, (void *) umad,
@@ -1799,7 +1831,14 @@ acm_svr_query_path(struct acm_client *client, struct acm_resolve_msg *msg)
goto resp;
}
if (!sa_msg) {
acm_log(0, "ERROR - cannot allocate send msg\n");
status = ACM_STATUS_ENOMEM;
-@@ -2698,6 +2737,7 @@ static void acm_port_up(struct acm_port *port)
+@@ -2522,6 +2561,7 @@ static struct acm_ep *
+ acm_alloc_ep(struct acm_port *port, uint16_t pkey, uint16_t pkey_index)
+ {
+ struct acm_ep *ep;
++ int i;
+
+ acm_log(1, "\n");
+ ep = calloc(1, sizeof *ep);
+@@ -2540,6 +2580,10 @@ acm_alloc_ep(struct acm_port *port, uint16_t pkey, uint16_t pkey_index)
+ DListInit(&ep->active_queue);
+ DListInit(&ep->wait_queue);
+ lock_init(&ep->lock);
++
++ for (i = 0; i < MAX_EP_MC; i++)
++ acm_init_dest(&ep->mc_dest[i], ACM_ADDRESS_GID, NULL, 0);
++
+ return ep;
+ }
+
+@@ -2698,6 +2742,7 @@ static void acm_port_up(struct acm_port *port)
if (!port->sa_dest.ah)
return;
for (i = 0; i < port->pkey_cnt; i++)
acm_ep_up(port, (uint16_t) i);
-@@ -2705,6 +2745,31 @@ static void acm_port_up(struct acm_port *port)
+@@ -2705,6 +2750,31 @@ static void acm_port_up(struct acm_port *port)
port->state = IBV_PORT_ACTIVE;
}
/*
* There is one event handler thread per device. This is the only thread that
* modifies the port state or a port endpoint list. Other threads which access
-@@ -2727,12 +2792,18 @@ static void CDECL_FUNC acm_event_handler(void *context)
+@@ -2727,12 +2797,18 @@ static void CDECL_FUNC acm_event_handler(void *context)
if (ret)
continue;
+++ /dev/null
-Bottom: e238f548acea16708f86fef667cd63ac67f1346f
-Top: 62dbb2354715c4271bec2ddff921c429bc57d05e
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2011-03-04 13:49:10 -0800
-
-Refresh of port_down
-
----
-
-diff --git a/src/acm.c b/src/acm.c
-index e13d1f2..2b60013 100644
---- a/src/acm.c
-+++ b/src/acm.c
-@@ -1495,7 +1495,7 @@ static void acm_join_group(struct acm_ep *ep, union ibv_gid *port_gid,
- mad = (struct ib_sa_mad *) umad->data;
- acm_init_join(mad, port_gid, ep->pkey, tos, tclass, sl, rate, mtu);
- mc_rec = (struct ib_mc_member_rec *) mad->data;
-- acm_init_dest(&ep->mc_dest[ep->mc_cnt++], ACM_ADDRESS_GID,
-+ acm_set_dest_addr(&ep->mc_dest[ep->mc_cnt++], ACM_ADDRESS_GID,
- mc_rec->mgid.raw, sizeof(mc_rec->mgid));
-
- ret = umad_send(port->mad_portid, port->mad_agentid, (void *) umad,
-@@ -2561,6 +2561,7 @@ static struct acm_ep *
- acm_alloc_ep(struct acm_port *port, uint16_t pkey, uint16_t pkey_index)
- {
- struct acm_ep *ep;
-+ int i;
-
- acm_log(1, "\n");
- ep = calloc(1, sizeof *ep);
-@@ -2579,6 +2580,10 @@ acm_alloc_ep(struct acm_port *port, uint16_t pkey, uint16_t pkey_index)
- DListInit(&ep->active_queue);
- DListInit(&ep->wait_queue);
- lock_init(&ep->lock);
-+
-+ for (i = 0; i < MAX_EP_MC; i++)
-+ acm_init_dest(&ep->mc_dest[i], ACM_ADDRESS_GID, NULL, 0);
-+
- return ep;
- }