> @@ -1153,9 +1153,7 @@ static void ib_sa_add_one(struct ib_device *device) > { > struct ib_sa_device *sa_dev; > int s, e, i; > - > - if (rdma_node_get_transport(device->node_type) != RDMA_TRANSPORT_IB) > - return; > + int count = 0; > > if (device->node_type == RDMA_NODE_IB_SWITCH) > s = e = 0; > @@ -1175,7 +1173,7 @@ static void ib_sa_add_one(struct ib_device *device) > > for (i = 0; i <= e - s; ++i) { > spin_lock_init(&sa_dev->port[i].ah_lock); > - if (rdma_port_get_link_layer(device, i + 1) != > IB_LINK_LAYER_INFINIBAND) > + if (!rdma_tech_ib(device, i + 1))
Note for someone who cares. This patch didn't introduce this problem, but I think the port number should be "i + s".