sdp_dbg(sk, "IB teardown while in "
"TCP_CLOSE_WAIT taking reference to "
"let close() finish the work\n");
- sock_hold(sk, SOCK_REF_CM_TW);
+ sock_hold(sk, SOCK_REF_CMA);
}
sdp_set_error(sk, EPIPE);
rc = sdp_disconnected_handler(sk);
#define SOCK_REF_RESET "RESET"
#define SOCK_REF_ALIVE "ALIVE" /* sock_alloc -> destruct_sock */
#define SOCK_REF_CLONE "CLONE"
-#define SOCK_REF_CM_TW "CM_TW" /* TIMEWAIT_ENTER -> TIMEWAIT_EXIT */
+#define SOCK_REF_CMA "CMA" /* sdp_cma_handler() is expected to be invoked */
#define SOCK_REF_SEQ "SEQ" /* during proc read */
#define SOCK_REF_DREQ_TO "DREQ_TO" /* dreq timeout is pending */
#define SOCK_REF_ZCOPY "ZCOPY" /* zcopy send in process */
goto adjudge_to_death;
}
- sock_hold(sk, SOCK_REF_CM_TW);
+ sock_hold(sk, SOCK_REF_CMA);
/* We need to flush the recv. buffs. We do this only on the
* descriptor close, not protocol-sourced closes, because the
cancel_delayed_work(&ssk->srcavail_cancel_work);
if (sk->sk_state == TCP_TIME_WAIT)
- sock_put(sk, SOCK_REF_CM_TW);
+ sock_put(sk, SOCK_REF_CMA);
/* In normal close current state is TCP_TIME_WAIT or TCP_CLOSE
but if a CM connection is dropped below our legs state could
sdp_sk(sk)->qp_active = 0;
rdma_disconnect(sdp_sk(sk)->id);
} else
- sock_put(sk, SOCK_REF_CM_TW);
+ sock_put(sk, SOCK_REF_CMA);
out:
sock_put(sk, SOCK_REF_DREQ_TO);
if ((1 << sk->sk_state) &
(TCPF_FIN_WAIT1 | TCPF_CLOSE_WAIT |
TCPF_LAST_ACK | TCPF_TIME_WAIT)) {
- sock_put(sk, SOCK_REF_CM_TW);
+ sock_put(sk, SOCK_REF_CMA);
}
schedule();