net: mptcp: don't hang before sending 'MP capable with data'
[linux-2.6-microblaze.git] / net / mptcp / protocol.c
index 95007e4..c0cef07 100644 (file)
@@ -1049,6 +1049,10 @@ void mptcp_finish_connect(struct sock *ssk)
        WRITE_ONCE(msk->write_seq, subflow->idsn + 1);
        WRITE_ONCE(msk->ack_seq, ack_seq);
        WRITE_ONCE(msk->can_ack, 1);
+       if (inet_sk_state_load(sk) != TCP_ESTABLISHED) {
+               inet_sk_state_store(sk, TCP_ESTABLISHED);
+               sk->sk_state_change(sk);
+       }
 }
 
 static void mptcp_sock_graft(struct sock *sk, struct socket *parent)