diff options
Diffstat (limited to 'net/ipv4/tcp_ipv4.c')
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index a90b4540c11e..8c9e9aa17d66 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -232,6 +232,7 @@ int tcp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len) | |||
232 | /* OK, now commit destination to socket. */ | 232 | /* OK, now commit destination to socket. */ |
233 | sk->sk_gso_type = SKB_GSO_TCPV4; | 233 | sk->sk_gso_type = SKB_GSO_TCPV4; |
234 | sk_setup_caps(sk, &rt->dst); | 234 | sk_setup_caps(sk, &rt->dst); |
235 | rt = NULL; | ||
235 | 236 | ||
236 | if (!tp->write_seq && likely(!tp->repair)) | 237 | if (!tp->write_seq && likely(!tp->repair)) |
237 | tp->write_seq = secure_tcp_sequence_number(inet->inet_saddr, | 238 | tp->write_seq = secure_tcp_sequence_number(inet->inet_saddr, |
@@ -242,9 +243,13 @@ int tcp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len) | |||
242 | 243 | ||
243 | inet->inet_id = tp->write_seq ^ jiffies; | 244 | inet->inet_id = tp->write_seq ^ jiffies; |
244 | 245 | ||
246 | if (tcp_fastopen_defer_connect(sk, &err)) | ||
247 | return err; | ||
248 | if (err) | ||
249 | goto failure; | ||
250 | |||
245 | err = tcp_connect(sk); | 251 | err = tcp_connect(sk); |
246 | 252 | ||
247 | rt = NULL; | ||
248 | if (err) | 253 | if (err) |
249 | goto failure; | 254 | goto failure; |
250 | 255 | ||