diff options
Diffstat (limited to 'net/ipv4/tcp_input.c')
| -rw-r--r-- | net/ipv4/tcp_input.c | 10 | 
1 files changed, 2 insertions, 8 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index bf4ced9273e8..29c6fc8c7716 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -3926,10 +3926,6 @@ void tcp_parse_options(const struct net *net,  				 */  				break;  #endif -			case TCPOPT_MPTCP: -				mptcp_parse_option(skb, ptr, opsize, opt_rx); -				break; -  			case TCPOPT_FASTOPEN:  				tcp_parse_fastopen_option(  					opsize - TCPOLEN_FASTOPEN_BASE, @@ -4761,7 +4757,8 @@ void tcp_data_ready(struct sock *sk)  	const struct tcp_sock *tp = tcp_sk(sk);  	int avail = tp->rcv_nxt - tp->copied_seq; -	if (avail < sk->sk_rcvlowat && !sock_flag(sk, SOCK_DONE)) +	if (avail < sk->sk_rcvlowat && !tcp_rmem_pressure(sk) && +	    !sock_flag(sk, SOCK_DONE))  		return;  	sk->sk_data_ready(sk); @@ -5990,9 +5987,6 @@ static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb,  		tcp_sync_mss(sk, icsk->icsk_pmtu_cookie);  		tcp_initialize_rcv_mss(sk); -		if (sk_is_mptcp(sk)) -			mptcp_rcv_synsent(sk); -  		/* Remember, tcp_poll() does not lock socket!  		 * Change state from SYN-SENT only after copied_seq  		 * is initialized. */  | 
