|
@@ -930,13 +930,9 @@ static inline int cma_user_data_offset(struct rdma_id_private *id_priv)
|
|
|
|
|
|
static void cma_cancel_route(struct rdma_id_private *id_priv)
|
|
|
{
|
|
|
- switch (rdma_port_get_link_layer(id_priv->id.device, id_priv->id.port_num)) {
|
|
|
- case IB_LINK_LAYER_INFINIBAND:
|
|
|
+ if (rdma_protocol_ib(id_priv->id.device, id_priv->id.port_num)) {
|
|
|
if (id_priv->query)
|
|
|
ib_sa_cancel_query(id_priv->query_id, id_priv->query);
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1964,26 +1960,15 @@ int rdma_resolve_route(struct rdma_cm_id *id, int timeout_ms)
|
|
|
return -EINVAL;
|
|
|
|
|
|
atomic_inc(&id_priv->refcount);
|
|
|
- switch (rdma_node_get_transport(id->device->node_type)) {
|
|
|
- case RDMA_TRANSPORT_IB:
|
|
|
- switch (rdma_port_get_link_layer(id->device, id->port_num)) {
|
|
|
- case IB_LINK_LAYER_INFINIBAND:
|
|
|
- ret = cma_resolve_ib_route(id_priv, timeout_ms);
|
|
|
- break;
|
|
|
- case IB_LINK_LAYER_ETHERNET:
|
|
|
- ret = cma_resolve_iboe_route(id_priv);
|
|
|
- break;
|
|
|
- default:
|
|
|
- ret = -ENOSYS;
|
|
|
- }
|
|
|
- break;
|
|
|
- case RDMA_TRANSPORT_IWARP:
|
|
|
+ if (rdma_protocol_ib(id->device, id->port_num))
|
|
|
+ ret = cma_resolve_ib_route(id_priv, timeout_ms);
|
|
|
+ else if (rdma_protocol_iboe(id->device, id->port_num))
|
|
|
+ ret = cma_resolve_iboe_route(id_priv);
|
|
|
+ else if (rdma_protocol_iwarp(id->device, id->port_num))
|
|
|
ret = cma_resolve_iw_route(id_priv, timeout_ms);
|
|
|
- break;
|
|
|
- default:
|
|
|
+ else
|
|
|
ret = -ENOSYS;
|
|
|
- break;
|
|
|
- }
|
|
|
+
|
|
|
if (ret)
|
|
|
goto err;
|
|
|
|