Skip to content
This repository has been archived by the owner on Apr 18, 2024. It is now read-only.

Commit

Permalink
mptcp: Always call sk_data_ready
Browse files Browse the repository at this point in the history
Since commit 03f45c8 ("tcp: avoid extra wakeups for SO_RCVLOWAT users"),
tcp_data_queue checks for available bytes in the subflow's receive-queue
before waking up the "app". However, with MPTCP we might have
zero-length data-fins in the queue. Thus, we still need to wakeup the
MPTCP-layer in case of a subflow.

Fixes: dd64d1c ("Merge tag 'v4.18' into mptcp_trunk")
Signed-off-by: Christoph Paasch <cpaasch@apple.com>
Signed-off-by: Matthieu Baerts <matthieu.baerts@tessares.net>
  • Loading branch information
cpaasch authored and matttbe committed Nov 27, 2018
1 parent 8e3743b commit 8562bd5
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion net/ipv4/tcp_input.c
Original file line number Diff line number Diff line change
Expand Up @@ -4736,7 +4736,7 @@ 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 && !sock_flag(sk, SOCK_DONE) && !mptcp(tp))
return;

sk->sk_data_ready(sk);
Expand Down

0 comments on commit 8562bd5

Please sign in to comment.