From: Amir Vadai Date: Tue, 2 Dec 2008 11:34:09 +0000 (+0200) Subject: sdp: BUG1429 - Sdp doesnt close resources X-Git-Tag: v4.1.12-92~264^2~5^2~300 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=568c9855ee5bdbe21fd7c41892d32087afaa13e3;p=users%2Fjedix%2Flinux-maple.git sdp: BUG1429 - Sdp doesnt close resources When called from sdp_dreq_timeout() - not holding ref count for timewait exit - when IB is already teared down. Signed-off-by: Amir Vadai --- diff --git a/drivers/infiniband/ulp/sdp/sdp_main.c b/drivers/infiniband/ulp/sdp/sdp_main.c index dd5463377b1c3..e20a79c00df71 100644 --- a/drivers/infiniband/ulp/sdp/sdp_main.c +++ b/drivers/infiniband/ulp/sdp/sdp_main.c @@ -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);