Merge tag 'mm-slub-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka...
[linux-2.6-microblaze.git] / net / mptcp / protocol.c
index a4c6e37..2602f13 100644 (file)
@@ -440,19 +440,22 @@ static bool tcp_can_send_ack(const struct sock *ssk)
               (TCPF_SYN_SENT | TCPF_SYN_RECV | TCPF_TIME_WAIT | TCPF_CLOSE | TCPF_LISTEN));
 }
 
+void mptcp_subflow_send_ack(struct sock *ssk)
+{
+       bool slow;
+
+       slow = lock_sock_fast(ssk);
+       if (tcp_can_send_ack(ssk))
+               tcp_send_ack(ssk);
+       unlock_sock_fast(ssk, slow);
+}
+
 static void mptcp_send_ack(struct mptcp_sock *msk)
 {
        struct mptcp_subflow_context *subflow;
 
-       mptcp_for_each_subflow(msk, subflow) {
-               struct sock *ssk = mptcp_subflow_tcp_sock(subflow);
-               bool slow;
-
-               slow = lock_sock_fast(ssk);
-               if (tcp_can_send_ack(ssk))
-                       tcp_send_ack(ssk);
-               unlock_sock_fast(ssk, slow);
-       }
+       mptcp_for_each_subflow(msk, subflow)
+               mptcp_subflow_send_ack(mptcp_subflow_tcp_sock(subflow));
 }
 
 static void mptcp_subflow_cleanup_rbuf(struct sock *ssk)