RDMA/cma: Initialize resource type in __rdma_create_id()
authorParav Pandit <parav@mellanox.com>
Sun, 29 Jul 2018 08:53:08 +0000 (11:53 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Tue, 31 Jul 2018 02:49:04 +0000 (20:49 -0600)
Currently rdma_cm_id's resource tracking fields such as owner task and
kern_name and other non resource tracking fields are initialized in
in single function __rdma_create_id().

Therefore, initialize rdma_cm_id's resource type also in same init
function.

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

index 7379094bbbabbd601fb41969e9580b4c7aad02c5..714fff27d2e37063e0a90a69679d737dff9c03d1 100644 (file)
@@ -495,7 +495,6 @@ static void _cma_attach_to_dev(struct rdma_id_private *id_priv,
        id_priv->id.route.addr.dev_addr.transport =
                rdma_node_get_transport(cma_dev->device->node_type);
        list_add_tail(&id_priv->list, &cma_dev->id_list);
-       id_priv->res.type = RDMA_RESTRACK_CM_ID;
        rdma_restrack_add(&id_priv->res);
 }
 
@@ -795,6 +794,7 @@ struct rdma_cm_id *__rdma_create_id(struct net *net,
                id_priv->res.kern_name = caller;
        else
                rdma_restrack_set_task(&id_priv->res, current);
+       id_priv->res.type = RDMA_RESTRACK_CM_ID;
        id_priv->state = RDMA_CM_IDLE;
        id_priv->id.context = context;
        id_priv->id.event_handler = event_handler;