Skip to content

Commit 813e0a6

Browse files
Paolo Abenikuba-moo
authored andcommitted
mptcp: try to push pending data on snd una updates
After the previous patch we may end-up with unsent data in the write buffer. If such buffer is full, the writer will block for unlimited time. We need to trigger the MPTCP xmit path even for the subflow rx path, on MPTCP snd_una updates. Keep things simple and just schedule the work queue if needed. Signed-off-by: Paolo Abeni <[email protected]> Signed-off-by: Jakub Kicinski <[email protected]>
1 parent d9ca1de commit 813e0a6

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

net/mptcp/protocol.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -725,6 +725,7 @@ void mptcp_data_acked(struct sock *sk)
725725
mptcp_reset_timer(sk);
726726

727727
if ((!test_bit(MPTCP_SEND_SPACE, &mptcp_sk(sk)->flags) ||
728+
mptcp_send_head(sk) ||
728729
(inet_sk_state_load(sk) != TCP_ESTABLISHED)))
729730
mptcp_schedule_work(sk);
730731
}
@@ -1840,6 +1841,8 @@ static void mptcp_worker(struct work_struct *work)
18401841
__mptcp_close_subflow(msk);
18411842

18421843
__mptcp_move_skbs(msk);
1844+
if (mptcp_send_head(sk))
1845+
mptcp_push_pending(sk, 0);
18431846

18441847
if (msk->pm.status)
18451848
pm_work(msk);

0 commit comments

Comments
 (0)