Commit 43fb5892 authored by Parav Pandit's avatar Parav Pandit Committed by Jason Gunthorpe
Browse files

RDMA/cma: Use refcount API to reflect refcount

Use a refcount_t for atomics being used as a refcount.

Link: https://lore.kernel.org/r/20200126142652.104803-8-leon@kernel.org


Signed-off-by: default avatarParav Pandit <parav@mellanox.com>
Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent e368d23f
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -842,12 +842,12 @@ static int cma_resolve_ib_dev(struct rdma_id_private *id_priv)

static void cma_id_get(struct rdma_id_private *id_priv)
{
	atomic_inc(&id_priv->refcount);
	refcount_inc(&id_priv->refcount);
}

static void cma_id_put(struct rdma_id_private *id_priv)
{
	if (atomic_dec_and_test(&id_priv->refcount))
	if (refcount_dec_and_test(&id_priv->refcount))
		complete(&id_priv->comp);
}

@@ -875,7 +875,7 @@ struct rdma_cm_id *__rdma_create_id(struct net *net,
	spin_lock_init(&id_priv->lock);
	mutex_init(&id_priv->qp_mutex);
	init_completion(&id_priv->comp);
	atomic_set(&id_priv->refcount, 1);
	refcount_set(&id_priv->refcount, 1);
	mutex_init(&id_priv->handler_mutex);
	INIT_LIST_HEAD(&id_priv->listen_list);
	INIT_LIST_HEAD(&id_priv->mc_list);
+1 −1
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ struct rdma_id_private {
	struct mutex		qp_mutex;

	struct completion	comp;
	atomic_t		refcount;
	refcount_t refcount;
	struct mutex		handler_mutex;

	int			backlog;