RDMA/cm: Trace icm_send_rej event before the cm state is reset
[platform/kernel/linux-starfive.git] / drivers / infiniband / core / cm.c
index 1f9938a..b7f9023 100644 (file)
@@ -2912,6 +2912,8 @@ static int cm_send_rej_locked(struct cm_id_private *cm_id_priv,
            (ari && ari_length > IB_CM_REJ_ARI_LENGTH))
                return -EINVAL;
 
+       trace_icm_send_rej(&cm_id_priv->id, reason);
+
        switch (state) {
        case IB_CM_REQ_SENT:
        case IB_CM_MRA_REQ_RCVD:
@@ -2942,7 +2944,6 @@ static int cm_send_rej_locked(struct cm_id_private *cm_id_priv,
                return -EINVAL;
        }
 
-       trace_icm_send_rej(&cm_id_priv->id, reason);
        ret = ib_post_send_mad(msg, NULL);
        if (ret) {
                cm_free_msg(msg);