diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index fea53413a2dd..7a4c7f755e1a 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -2487,6 +2487,10 @@ static void __mptcp_close_subflow(struct sock *sk) continue; mptcp_close_ssk(sk, ssk, subflow); + + if (READ_ONCE(subflow->remote_id) && + --msk->pm.add_addr_accepted < mptcp_pm_get_add_addr_accept_max(msk)) + WRITE_ONCE(msk->pm.accept_addr, true); } }