introduced by patch "IB/sdp: handle shutdown recv on listening socket"
Signed-off-by: Amiram Perlmutter <amip@mellanox.co.il>
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
int rc = 0;
int old_state = sk->sk_state;
struct sdp_sock *s, *t;
- struct rdma_cm_id *id = ssk->id;
+ struct rdma_cm_id *id;
sdp_dbg(sk, "%s\n", __func__);
if (ssk->id)
return rc;
sdp_set_state(sk, TCP_CLOSE);
+ id = ssk->id;
ssk->id = NULL;
release_sock(sk); /* release socket since locking semantics is parent
inside child */
- rdma_destroy_id(ssk->id);
+ rdma_destroy_id(id);
list_for_each_entry_safe(s, t, &ssk->backlog_queue, backlog_queue) {
sk_common_release(&s->isk.sk);