diff mbox

libibnetdisc: no backward NodeInfo queries

Message ID 20100410005857.GN4808@me (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Sasha Khapyorsky April 10, 2010, 12:58 a.m. UTC
None
diff mbox

Patch

diff --git a/infiniband-diags/libibnetdisc/src/ibnetdisc.c b/infiniband-diags/libibnetdisc/src/ibnetdisc.c
index 65126dd..03b678e 100644
--- a/infiniband-diags/libibnetdisc/src/ibnetdisc.c
+++ b/infiniband-diags/libibnetdisc/src/ibnetdisc.c
@@ -199,7 +199,8 @@  static int recv_port_info(smp_engine_t * engine, ibnd_smp_t * smp,
 
 	if (port_num && mad_get_field(port->info, 0, IB_PORT_PHYS_STATE_F)
 	    == IB_PORT_PHYS_STATE_LINKUP
-	    && (node->type == IB_NODE_SWITCH || node == fabric->from_node)) {
+	    && ((node->type == IB_NODE_SWITCH && port_num != local_port) ||
+		 node == fabric->from_node)) {
 		ib_portid_t path = smp->path;
 		if (extend_dpath(engine, &path, port_num) > 0)
 			query_node_info(engine, &path, node);