libvendor/osm_vendor_ibumad.c: Check the next CA card if the error is returned for the current one
PATCH 1/1 libvendor/osm_vendor_ibumad.c: Check the next CA card if the error is returned for the current one
From: Vladimir Koushnir <vladimirk-VPRAkNaXOzVWk0Htik3J/[email protected]>
osm_vendor_open_port should check matching of the input GUID on all CA cards. When umad_get_ca_portguids returns an error on the current CA card,next card should be examined.
This change resolves an issue with Win opensm.
Win lower layers are not following libibumad Linux convention/assumption and are sometimes returning an error
when umad_get_ca_portguids is called from osm_vendor_open_port.
--- libvendor/osm_vendor_ibumad.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-)
libvendor/osm_vendor_ibumad.c +5 -1
@@ -727,10 +727,14 @@ osm_vendor_open_port(IN osm_vendor_t * const p_vend,for (ca =0 ; ca < p_vend->ca_count; ca++) {if ((r =umad_get_ca_portguids (p_vend->ca_names[ca], portguids,OSM_UMAD_MAX_PORTS_PER_CA +1 )) <0 ) { +#ifdef __WIN__ +OSM_LOG (p_vend->p_log,OSM_LOG_VERBOSE , +#elseOSM_LOG (p_vend->p_log,OSM_LOG_ERROR ,"ERR 5421: " +#endif"Unable to get CA %s port guids (%s)\n" , p_vend->ca_names[ca], strerror(r)); - goto Exit; + continue; }for (i =0 ; i < r; i++)if (port_guid == portguids[i]) {
Signature · 6 lines
1.7.8.2 -- 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