]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
sdp: do nothing when getting FIN after IB teardown started
authorAmir Vadai <amirv@mellanox.co.il>
Sun, 26 Oct 2008 13:07:38 +0000 (15:07 +0200)
committerMukesh Kacker <mukesh.kacker@oracle.com>
Tue, 6 Oct 2015 12:04:19 +0000 (05:04 -0700)
Fixes bug at:
https://bugs.openfabrics.org/show_bug.cgi?id=1302

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

index 4677df0debd5ae013590c22a7d39e066a63b1315..d60b25724a42585b10f6c7c88feba8488da8377e 100644 (file)
@@ -132,6 +132,11 @@ static void sdp_fin(struct sock *sk)
                /* This is a mutual close situation and we've got the DREQ from
                   the peer before the SDP_MID_DISCONNECT */
                break;
+       case TCP_CLOSE:
+               /* FIN arrived after IB teardown started - do nothing */
+               sdp_dbg(sk, "%s: fin in state %s\n",
+                               __func__, sdp_state_str(sk->sk_state));
+               return;
        default:
                sdp_warn(sk, "%s: FIN in unexpected state. sk->sk_state=%d\n",
                                __func__, sk->sk_state);