Commit 1cc44279 authored by Jason Gunthorpe's avatar Jason Gunthorpe

RDMA/cm: Remove the cm_free_id() wrapper function

Just call xa_erase directly during cm_destroy_id()

Link: https://lore.kernel.org/r/20200506074701.9775-9-leon@kernel.orgSigned-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
parent cfa68b0d
...@@ -580,11 +580,6 @@ static u32 cm_local_id(__be32 local_id) ...@@ -580,11 +580,6 @@ static u32 cm_local_id(__be32 local_id)
return (__force u32) (local_id ^ cm.random_id_operand); return (__force u32) (local_id ^ cm.random_id_operand);
} }
static void cm_free_id(__be32 local_id)
{
xa_erase_irq(&cm.local_id_table, cm_local_id(local_id));
}
static struct cm_id_private *cm_acquire_id(__be32 local_id, __be32 remote_id) static struct cm_id_private *cm_acquire_id(__be32 local_id, __be32 remote_id)
{ {
struct cm_id_private *cm_id_priv; struct cm_id_private *cm_id_priv;
...@@ -1136,7 +1131,7 @@ static void cm_destroy_id(struct ib_cm_id *cm_id, int err) ...@@ -1136,7 +1131,7 @@ static void cm_destroy_id(struct ib_cm_id *cm_id, int err)
case IB_CM_TIMEWAIT: case IB_CM_TIMEWAIT:
/* /*
* The cm_acquire_id in cm_timewait_handler will stop working * The cm_acquire_id in cm_timewait_handler will stop working
* once we do cm_free_id() below, so just move to idle here for * once we do xa_erase below, so just move to idle here for
* consistency. * consistency.
*/ */
cm_id->state = IB_CM_IDLE; cm_id->state = IB_CM_IDLE;
...@@ -1166,7 +1161,7 @@ static void cm_destroy_id(struct ib_cm_id *cm_id, int err) ...@@ -1166,7 +1161,7 @@ static void cm_destroy_id(struct ib_cm_id *cm_id, int err)
spin_unlock(&cm.lock); spin_unlock(&cm.lock);
spin_unlock_irq(&cm_id_priv->lock); spin_unlock_irq(&cm_id_priv->lock);
cm_free_id(cm_id->local_id); xa_erase_irq(&cm.local_id_table, cm_local_id(cm_id->local_id));
cm_deref_id(cm_id_priv); cm_deref_id(cm_id_priv);
wait_for_completion(&cm_id_priv->comp); wait_for_completion(&cm_id_priv->comp);
while ((work = cm_dequeue_work(cm_id_priv)) != NULL) while ((work = cm_dequeue_work(cm_id_priv)) != NULL)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment