Version: 1
-Previous: 96785f683cbeeda4a7c4790f72aa32e7b0e4a88d
-Head: baacfca673d2ca7920d84b0a4a476fc3aa117cc4
+Previous: 712e6a054225013492ad626c1116b90c40cbde9a
+Head: f05095ccdd7d18e4b40f50eac8bc42d61beff06e
Applied:
addr_open: 1fd2bfd86e2e2fe78f9d5d6d39aa5502938923f0
open_dev: 4687a6571146acd8d9a1553a96e2e4f7e8318761
sm_lid_get: dc8017769d3dfcbd85ae7ec037c871ac476a4c2d
port_up: 1af4666bab8720dd46666a4c13bd93f6dcc1bd1a
port_down: baacfca673d2ca7920d84b0a4a476fc3aa117cc4
+ refresh-temp: f05095ccdd7d18e4b40f50eac8bc42d61beff06e
Unapplied:
autoaddr: 36281f18de15f2482e21ae1304f2e34e9ecf187d
async_mc: c51c6e84981821b2541daba97cee9a29cd1d3709
--- /dev/null
+Bottom: 4762755ecc0b080ab2590bb531679dec7f4fd0b6
+Top: e6727799cbccd7777cacc86283b2358e20e53cd0
+Author: Sean Hefty <sean.hefty@intel.com>
+Date: 2011-03-04 11:03:42 -0800
+
+Refresh of port_down
+
+---
+
+diff --git a/src/acm.c b/src/acm.c
+index 222bcad..0da6c4c 100644
+--- a/src/acm.c
++++ b/src/acm.c
+@@ -2745,8 +2745,7 @@ static void acm_port_up(struct acm_port *port)
+ static void acm_port_down(struct acm_port *port)
+ {
+ struct ibv_port_attr attr;
+- union ibv_gid gid;
+- int i, ret;
++ int ret;
+
+ acm_log(1, "%s %d\n", port->dev->verbs->device->name, port->port_num);
+ ret = ibv_query_port(port->dev->verbs, port->port_num, &attr);
+@@ -2796,6 +2795,10 @@ static void CDECL_FUNC acm_event_handler(void *context)
+ if (dev->port[i].state != IBV_PORT_ACTIVE)
+ acm_port_up(&dev->port[i]);
+ break;
++ case IBV_EVENT_PORT_ERR:
++ if (dev->port[i].state == IBV_PORT_ACTIVE)
++ acm_port_down(&dev->port[i]);
++ break;
+ default:
+ break;
+ }