# HG changeset patch # User Sharath M Srinivasan # Date 1349077815 25200 # Node ID 0b0f9ec6b450903982c7ce2b2937adadc4e79fa3 # Parent 27c96268ac37ffaa1e16f14cf1017b60156bb038 7198889 with SRU12.1 all connections to my storage cells are lost diff -r 27c96268ac37 -r 0b0f9ec6b450 components/open-fabrics/libibmad/patches/base.patch --- a/components/open-fabrics/libibmad/patches/base.patch Wed Sep 26 16:12:30 2012 -0700 +++ b/components/open-fabrics/libibmad/patches/base.patch Mon Oct 01 00:50:15 2012 -0700 @@ -89,6 +89,38 @@ sizeof(uint64_t)); return ntohll(val); } +diff -r -u /tmp/libibmad-1.3.7/src/resolve.c libibmad-1.3.7/src/resolve.c +--- /tmp/libibmad-1.3.7/src/resolve.c Wed Feb 16 02:12:53 2011 ++++ libibmad-1.3.7/src/resolve.c Sun Sep 30 23:24:39 2012 +@@ -40,6 +40,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -104,12 +105,18 @@ + + if (!sm_id) { + sm_id = &sm_portid; +- if (ib_resolve_smlid_via(sm_id, timeout, srcport) < 0) ++ if (ib_resolve_smlid_via(sm_id, timeout, srcport) < 0) { ++ if (!errno) ++ errno = EIO; + return -1; ++ } + } + +- if (!smp_query_via(nodeinfo, &self, IB_ATTR_NODE_INFO, 0, 0, srcport)) ++ if (!smp_query_via(nodeinfo, &self, IB_ATTR_NODE_INFO, 0, 0, srcport)) { ++ if (!errno) ++ errno = EIO; + return -1; ++ } + mad_decode_field(nodeinfo, IB_NODE_PORT_GUID_F, &selfguid); + mad_set_field64(selfgid, 0, IB_GID_PREFIX_F, IB_DEFAULT_SUBN_PREFIX); + mad_set_field64(selfgid, 0, IB_GID_GUID_F, selfguid); diff -r -u /tmp/libibmad-1.3.7/src/dump.c libibmad-1.3.7/src/dump.c --- /tmp/libibmad-1.3.7/src/dump.c Wed Feb 16 02:12:53 2011 +++ libibmad-1.3.7/src/dump.c Thu Feb 24 11:27:11 2011 @@ -205,6 +237,25 @@ break; case 3: snprintf(buf, bufsz, "%06x", *(uint32_t *) val & 0xffffff); +diff -r -u /tmp/libibmad-1.3.7/src/sa.c libibmad-1.3.7/src/sa.c +--- /tmp/libibmad-1.3.7/src/sa.c Wed Feb 16 02:12:53 2011 ++++ libibmad-1.3.7/src/sa.c Sun Sep 30 23:24:45 2012 +@@ -38,6 +38,7 @@ + #include + #include + #include ++#include + + #include + #include "mad_internal.h" +@@ -56,6 +57,7 @@ + + if (portid->lid <= 0) { + IBWARN("only lid routes are supported"); ++ errno = EIO; + return NULL; + } + diff -r -u /tmp/libibmad-1.3.7/src/rpc.c libibmad-1.3.7/src/rpc.c --- /tmp/libibmad-1.3.7/src/rpc.c Wed Feb 16 02:12:53 2011 +++ libibmad-1.3.7/src/rpc.c Thu Feb 24 11:27:14 2011