RDMA/cma: Avoid setting path record type twice
authorParav Pandit <parav@mellanox.com>
Tue, 14 Nov 2017 12:52:02 +0000 (14:52 +0200)
committerJason Gunthorpe <jgg@mellanox.com>
Mon, 18 Dec 2017 22:37:07 +0000 (15:37 -0700)
Avoid setting path record type twice for RoCE.

Signed-off-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Daniel Jurgens <danielj@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
drivers/infiniband/core/cma.c

index 168f1230756b1496e572c78f0ec462645c3caf7c..f986597201fa39ad8d5ba0a73df63189a8159b04 100644 (file)
@@ -2567,7 +2567,11 @@ static int cma_resolve_iboe_route(struct rdma_id_private *id_priv)
        gid_type = cma_route_gid_type(addr->dev_addr.network,
                                      supported_gids,
                                      id_priv->gid_type);
+       /* Use the hint from IP Stack to select GID Type */
+       if (gid_type < ib_network_to_gid_type(addr->dev_addr.network))
+               gid_type = ib_network_to_gid_type(addr->dev_addr.network);
        route->path_rec->rec_type = sa_conv_gid_to_pathrec_type(gid_type);
+
        sa_path_set_ndev(route->path_rec, &init_net);
        sa_path_set_ifindex(route->path_rec, ndev->ifindex);
        sa_path_set_dmac(route->path_rec, addr->dev_addr.dst_dev_addr);
@@ -2577,11 +2581,6 @@ static int cma_resolve_iboe_route(struct rdma_id_private *id_priv)
        rdma_ip2gid((struct sockaddr *)&id_priv->id.route.addr.dst_addr,
                    &route->path_rec->dgid);
 
-       /* Use the hint from IP Stack to select GID Type */
-       if (gid_type < ib_network_to_gid_type(addr->dev_addr.network))
-               gid_type = ib_network_to_gid_type(addr->dev_addr.network);
-       route->path_rec->rec_type = sa_conv_gid_to_pathrec_type(gid_type);
-
        if (((struct sockaddr *)&id_priv->id.route.addr.dst_addr)->sa_family != AF_IB)
                /* TODO: get the hoplimit from the inet/inet6 device */
                route->path_rec->hop_limit = addr->dev_addr.hoplimit;