RDMA/cm: Add some lockdep assertions for cm_id_priv->lock
These functions all touch state, so must be called under the lock. Inspection shows this is currently true. Link: https://lore.kernel.org/r/20200310092545.251365-11-leon@kernel.org Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
d1de9a8807
commit
00777a68ae
|
@ -974,6 +974,8 @@ static void cm_enter_timewait(struct cm_id_private *cm_id_priv)
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
struct cm_device *cm_dev;
|
struct cm_device *cm_dev;
|
||||||
|
|
||||||
|
lockdep_assert_held(&cm_id_priv->lock);
|
||||||
|
|
||||||
cm_dev = ib_get_client_data(cm_id_priv->id.device, &cm_client);
|
cm_dev = ib_get_client_data(cm_id_priv->id.device, &cm_client);
|
||||||
if (!cm_dev)
|
if (!cm_dev)
|
||||||
return;
|
return;
|
||||||
|
@ -1005,6 +1007,8 @@ static void cm_reset_to_idle(struct cm_id_private *cm_id_priv)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
|
lockdep_assert_held(&cm_id_priv->lock);
|
||||||
|
|
||||||
cm_id_priv->id.state = IB_CM_IDLE;
|
cm_id_priv->id.state = IB_CM_IDLE;
|
||||||
if (cm_id_priv->timewait_info) {
|
if (cm_id_priv->timewait_info) {
|
||||||
spin_lock_irqsave(&cm.lock, flags);
|
spin_lock_irqsave(&cm.lock, flags);
|
||||||
|
@ -1823,6 +1827,8 @@ static void cm_format_rej(struct cm_rej_msg *rej_msg,
|
||||||
const void *private_data,
|
const void *private_data,
|
||||||
u8 private_data_len)
|
u8 private_data_len)
|
||||||
{
|
{
|
||||||
|
lockdep_assert_held(&cm_id_priv->lock);
|
||||||
|
|
||||||
cm_format_mad_hdr(&rej_msg->hdr, CM_REJ_ATTR_ID, cm_id_priv->tid);
|
cm_format_mad_hdr(&rej_msg->hdr, CM_REJ_ATTR_ID, cm_id_priv->tid);
|
||||||
IBA_SET(CM_REJ_REMOTE_COMM_ID, rej_msg,
|
IBA_SET(CM_REJ_REMOTE_COMM_ID, rej_msg,
|
||||||
be32_to_cpu(cm_id_priv->id.remote_id));
|
be32_to_cpu(cm_id_priv->id.remote_id));
|
||||||
|
|
Loading…
Reference in a new issue