]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
sdp: BUG1429 - Sdp doesnt close resources
authorAmir Vadai <amirv@mellanox.co.il>
Tue, 2 Dec 2008 11:34:09 +0000 (13:34 +0200)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:04:22 +0000 (05:04 -0700)
When called from sdp_dreq_timeout() - not holding ref count for
timewait exit - when IB is already teared down.

Signed-off-by: Amir Vadai <amirv@mellanox.co.il>
drivers/infiniband/ulp/sdp/sdp_main.c

index dd5463377b1c3507d0977e135e9f781146c76d27..e20a79c00df719a892b38d16648b4e619de7a890 100644 (file)
@@ -901,8 +901,12 @@ void sdp_dreq_wait_timeout_work(struct work_struct *work)
 
        release_sock(sk);
 
-       if (sdp_sk(sk)->id)
+       if (sdp_sk(sk)->id) {
                rdma_disconnect(sdp_sk(sk)->id);
+       } else {
+               sdp_warn(sk, "DO NOT SENDING DREQ - no need to wait for timewait exit\n");
+               sock_put(sk, SOCK_REF_CM_TW);
+       }
 
 out:
        sock_put(sk, SOCK_REF_DREQ_TO);